下面是部分分支操作的指令和图示,圆圈○表示一个提交(commit)记录,矩形表示分支,它指向先前的一个提交记录,由这个记录可以遍历之前所有的提交记录
首先初始化了一个git,这个git中只有一个master分支,包含两个commit记录

提交修改
将已修改文件添加至暂存区
git add dir/filename # 添加指定文件
git add . # 添加所有已修改文件提交修改到本地仓库
将暂存区的改动提交到本地的版本库,使用git commit命令我们就会在本地版本库生成一个40位的哈希值,用于版本回退
git commit -m "message" # message就是本次提交的简要说明创建分支:
现在我们创建一个新分支,命名为develop:
git checkout -b develop # 表示创建并切换到develop分支
切换到分支
此时master分支和develop分支都指向C1这个提交记录。我们分别在这两个分支上进行修改并提交:
git commit
git checkout master # 切换到master分支
git commit
合并分支
可以看到master分支和develop分支指向了不同的提交记录,接下来我们将develop分支合并到master分支中
git merge develop
执行上面的指令后,产生了一个新的提交记录C4,由C4我们可以遍历之前所有的提交记录,但是此时master分支和develop分支仍然指向不同的提交记录。继续切换到develop分支,将master分支合并到develop分支中:
git checkout develop
git merge master
打标签, 描述快照
梗概:
使用Git可以给指定提交打上标签,用来突出显示这个提交,比如将提交标记为v1.0、v2.0,等等
列举标签
使用如下命令即可列出所有标签
git tag过滤标签:
当标签太多时,可以使用如下指令列出包含指定字符的标签
git tag -l "v1.*"创建标签
添加-a选项即可创建标签,如下:
git tag -a v1.0 -m "version 1.0"如上命令即可为当前提交创建一个标签,标签名为v1.0,-m选项后就是该标签的附注信息
推送标签
只使用git push命令在默认情况下不会将标签推送到 远程仓库,在创建标签后需要执行如下命令将指定标签推送到远程仓库:
git push origin <tagname>如果要推送多个新标签,可以使用git push的—tags选项将所有标签推送到远程仓库:
git push origin --tags删除标签
使用git tag的-d选项即可删掉本地仓库上的指定标签,如下:
git tag -d <tagname>但是该指令不会删除远程仓库中的标签 ,还需要使用如下命令来更新远程仓库:
git push remote :refs/tags/<tagname>切换标签
使用git checkout <tagname>指令即可将git仓库的HEAD指针指向标签所在的提交,如下:
git checkout v1.0推送到远程仓库
本地上传,注意在推送前需要先从远程拉取
git push -u origin master # master可以更换为其他分支从远程仓库拉取
更新本地:
git pull origin master # master可以更换为其他分支