Git版本控制的基本命令
安装完了GIT首先要自报家门,否则代码不能提交
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
接下来在想要的目录下创建版本库
cd D:
mkdir test
git init
如果是在团队中间插入开发,那么你肯定需要下载团队项目已有的进度文件,把项目文件复制到吧恩地
git clone https://gitee.com/645631686/****.git
如果是本地编辑一个新文件提交,那么在编辑好之后,查看状态
git status
然后把新编辑的文件提交暂存区
git add test.php
再把文件提交到版本库
git commit -m '日志说明'
如果要删除文件呢
git rm test.php
git commit -m '删除文件'
然后再来试一试把代码提交到远程仓库
git remote add origin https://gitee.com/645631686/****.git //意思是添加一个远程库,代号是origin,地址是https://gitee.com/645631686/****.git
推代码试试
push origin master //意思是把本地的版本(默认是master)推到代号为origin的远程库去,这个过程会让你输入用户名/密码,即你注册时的账户密码
如果你的团队开发伙伴提交了代码,你怎么获取最新的呢
git pull origin master
有时候也会查看一下日志吧
git log //查看项目日志
git log <fileName> //查看文件日志
git log . //查看当下目录日志
如果感觉log有点乱,可以让日志单行显示.
git log --pretty=oneline,
查看一下版本变化
git reflog
来试一试版本切换
切换为head的前1版本,git reset --hard HEAD^
切换为head的前2版本,git reset --hard HEAD^^
切换为head的前100版本,git reset --hard HEAD~
也可以利用版本号来切换,例
git reset --hard 6207e59
忽略文件
目录下新建.gitignore 里面加入想要忽略的目录或文件
开发中也会用到分支吧
git branch //查看所有分支
git branch dev //创建一个分支
git checkout dev //切换一下分支到dev(执行git branck命令时,所处的分支是绿色的)
git checkout -b dev //创建dev分支并立即切换到dev分支
如果当下在dev分支上,咱合并一下分支到master主分支
如:在当前分支的readme.txt文件内容为'test',在dev下分支添加一行代码并提交
git add readme.txt
git commit -m '合并分支测试'
再次切换到master,查看readme.txt文件内容仍然为'test',下面就合并一下
git merge dev
执行完成之后再次查看内容,变了~
下面还要删除分支呢
git branch -d dev
再次切换到master,查看readme.txt的内容
查看一下远程仓库
git remote
查看一下仓库地址
git remote -v
添加远程仓库,git remote add <仓库名> <远程库地址> ,如(记住是别名,并不是物理实际的库)
git remote add origin https://gitee.com/645631686/****.git //远程库一般叫origin,并非强制,可以自己别名一下,如 git remote add online https://gitee.com/645631686/****.git
修改远程库名称(别名,只是在提交的时候可以用库名提交,代替了远程地址)
git remote rename <旧名字> <新名字>,如
git remote rename online newoline
利用别名推文件
git push newonline master //新的别名-推送的分支
删除远程库
git remote remove newoline

git commit -a 提交代码,代码还在本地,已经生成 commit id git commit -a –amend 修改已有commit,新增/修改代码在当前commit基础上,已经生成 commit id git add . 添加未被track的文件到git git pull –rebase 拉取远程最新代码(push 之前必须进行拉取)(不要使用git pull) git push origin develop:refs/for/develop 推送本地commit 在远程版本库 git stash 暂存当前所有修改,本地代码恢复到 HEAD git stash pop(git stash apply) 提取暂存的所有代码到本地 git merge develop –no-ff 合并develop代码到当前分支,合并完成需要push到远程 git tag -a v2.1.8 -m “release v2.1.8” 打tag标记 -a tag名称 -m 注释记录 git tag -d tagName 删除本地tag git push origin :refs/tags/tagName 用push, 删除远程tag git push origin –tags push tag标记到远程 git cherry-pick commitid 提取某个commit 到当前分支 git branch -a 查看远程本地所有分支 git branch -vv 查看本地远程分支对应状态 git branch -D develop 删除本地develop分支 git checkout -b develop origin/develop 创建本地分支并与远程分支关联
Git版本控制的基本命令的更多相关文章
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- Git版本控制与工作流
基本概念 Git是什么? Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更 ...
- Git版本控制教程
Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...
- Git版本控制工具(三)----远程仓库GitHub的使用
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- git版本控制工具(二)----本地版本库的常用操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git版本控制工具(一)----git的安装及创建版本库
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git 版本控制工具(学习笔记)
GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core 之后回车输入密码,即可完 ...
- Git版本控制与工作流详解
这篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对git的基本概念和命令不是很熟悉,可以从以下基本教程入手: 专为设计师而写的GitHub快速入门教程 git – 简明指 ...
- Git版本控制,rsync同步文件,完成线上部署
之前项目开发完成,测试阶段,借着此时,由于公司暂时用两台aliyun ecs 做业务层,所以每次都需要同步线上文件,进而想着搞一搞服务器端(小公司,新项目,先小搞一把),搭建一套小的版本控制上线的 ...
随机推荐
- java —— equals 与 ==
equals 众所周知,java 中的所有的类都继承自 Object 这个超类 ,他就是Java所有类的父类或祖先类,Object类里面有一个equals方法,并且提供了默认的实现,如下所示. pub ...
- linkin大话设计模式--建造模式
linkin大话设计模式--建造模式 建造模式是对象的创建模式,可以讲一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象. 建造模式的结构: 抽象建造者 ...
- XML,HTML,XHTML
对于上面3种技术,我们经常使用到,这里具体的做一个总结,来对比一下这3个东西. 什么是XML? XML即Extentsible Markup Language(可扩展标记语言),是用来定义其它语言的一 ...
- struts2 利用通配符方式解决action太多的问题
<!-- 创建包default,继承struts-default --> <package name="default" extends="str ...
- dfs 与 dijkstra 总结
Dijkstra: //寻求加权图起始点到各个节点的最短路径 for i <- 1:n do distance[i] <- INF; distance[0] <- 0;//起始节点距 ...
- java对象引用-要掌握的细节2
目的:加深对java引用变量的理解,避免数据的处理的偏差. 问题: 1.一个集合List ,将新建Student对象stu放入List之后,再给stu的成员变量例如id,name赋值.此时List中的 ...
- JAVA设计模式---命令模式
1.定义: 将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象,命令模式也支持可撤销的操作.命令可以用来实现日志和事务系统. 2.实例: 1)需求:设计一个家电遥控器的API,遥控 ...
- LINUX文件定位
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- LVS、Nginx和HAProxy负载均衡器对比总结
LVS特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生: 2.稳定性.可靠性好,自身有完美的热备方案:(如:LVS+Keepalived) 3.应用范围比较广 ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)
Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) 说一点东西: 昨天晚上$9:05$开始太不好了,我在学校学校$9:40$放 ...