标签是记录我们一个里程碑最好的选择,通常我们都是在发布版本后打一个Tag。这样如果后续发现这个版本出问题里可以直接通过tag拉取一个分支,基于该版本进行快速修复,这样工作就很轻松啦!省去了找哪个提交才是那次发版的节点的麻烦。
-
展示标签
1.列出所有本地标签:
$ git tag
v0.1.1 v1.1.1 v1.2.2 v1.2.3 v2.1
2.显示的标签按字母顺序排列,所以标签的先后并不表示重要程度的轻重。
也可以用特定的搜索模式列出符合条件的标签,如果你只对 1.2 系列的版本感兴趣,可以运行下面的命令:
$ git tag -l 'v1.2.*'
v1.2.2 v1.2.3
3.查看标签:
可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交Log。
$ git show v1.4
-
新建标签
1.新建包含注释的标签:
在当前分支,创建一个含附注类型的标签非常简单,用 -a (译注:取 annotated 的首字母)指定标签名字即可:
$ git tag -a v1.4 -m 'my changes 1.4'
2.新建轻量标签:
在当前分支,轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件。要创建这样的标签,一个 -a,-s 或 -m 选项都不用,直接给出标签名字即可:
$ git tag v1.4
3.基于commit新建标签:
$ git tag -a v1.2.1 -m 'message' 9fceb02
-
删除标签
1.删除本地标签:
$ git tag -d tag_name
2.删除远程仓库标签:
$ git push origin :tag_name
或
$ git push origin --delete tag tag_name
-
共享标签
1.推送标签:
默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin [tagname] 即可:
$ git push origin v1.5
如果要一次推送所有本地新增的标签上去,可以使用 --tags 选项:
$ git push origin --tags
2.拉取远端标签:
$ git pull origin --tags
签署标签
如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的 -a 改为 -s (译注: 取 signed 的首字母)即可:
$ git tag -s v1.5 -m 'my signed 1.5 tag'
验证标签
可以使用 git tag -v [tag-name] (译注:取 verify 的首字母)的方式验证已经签署的标签。此命令会调用 GPG 来验证签名,所以你需要有签署者的公钥,存放在 keyring 中,才能验证:
$ git tag -v v1.4.2.1
-
通过标签建分支
将标签拉取到分支:
$ git checkout “tags/tag_name” -b branch_name