Git 使用的标签有两种类型:
轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。
含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
1 | $ git tag |
以Git自身项目仓库为例,如果你只对Git仓库的某个系列(例如1.4.2系列)的版本感兴趣,可以运行下列的命令:
1 | $ git tag -l 'v1.4.2.*' |
1 | $ git tag v1.4 |
可以使用 git show
命令查看相应标签的版本信息,并连同显示打标签时的提交对象。
我们可以看到在提交对象信息上面,列出了此标签的提交者和提交时间,以及相应的标签说明。
如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的 -a
改为 -s
(译注:取 signed 的首字母)即可:
1 | $ git tag -s v1.5 -m 'my signed 1.5 tag' |
可以使用 git tag -v [tag-name]
(译注:取 verify 的首字母)的方式验证已经签署的标签。此命令会调用 GPG 来验证签名,所以你 需要有签署者的公钥 ,存放在 keyring 中,才能验证:
1 | $ git tag -v v1.4.2.1 |