标签
tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
新建一个标签
$ git tag <tagname>
命令git tag <tagname>
用于新建一个标签,默认为HEAD,也可以指定一个commit id。
指定标签信息
$ git tag -a <tagname> -m <description> <branchname> or commit_id
git tag -a <tagname> -m "blablabla..."
可以指定标签信息。
PGP签名标签
$ git tag -s <tagname> -m <description> <branchname> or commit_id
git tag -s <tagname> -m "blablabla..."
可以用PGP签名标签。
查看所有标签
$ git tag
推送一个本地标签
$ git push origin <tagname>
推送全部未推送过的本地标签
$ git push origin --tags
删除一个本地标签
$ git tag -d <tagname>
删除一个远程标签
$ git push origin :refs/tags/<tagname>
调整commit之间的顺序
- 首先看一下当前的提交历史,代码如下:
$ git log --oneline
下面将add N提交挪到c2提交之前,下面开始操作:
$ git rebase -i b0aa963
特别说明:b0aa963用来确定commit范围,表示从此提交开始到当前的提交(不包括b0aa963提交)。
运行此命令后,弹出VIM编辑器
截图说明:
(1).顶部的commit提交排列顺序与git log排列相反,最先提交的在最上面。
(2).前面的pick表示保留此次commit提交不做修改。
(3).底部给出所有可用的命令。
只要手动调整一下对应提交的位置即可:
最后保存离开就可以自动完成,再来看一下提交历史记录:
.调整影响:
无论是调整commit顺序或者删除commit,都有可能产生冲突或者错误。
比如,后面的提交对前面的他比较有依赖性,而删除前面的提交,则势必会出现问题,就好比穿越时空来到父母恋爱之时,这时候如果热恋中的父母分手,那自己又会从哪里来呢。
提交
git cherry-pick
参考