标签(tag)
可以针对某一时间点的版本做标记,常用于版本发布。
轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。
而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。
创建标签
创建轻量标签:
git tag v2.1.2
创建附注标签,在git tag后面指定 -a 选项:
git tag -a v2.1.2 -m '发布版本v2.1.2'
-m 选项指定了一条将会存储在标签中的信息。 如果没有为附注标签指定一条信息,Git 会启动编辑器要求你输入信息。
使用git show命令可以看到标签信息和与之对应的提交信息。
标签发布
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
将v2.1.2标签提交到git服务器:
git push origin v2.1.2
将本地所有标签一次性提交到git服务器:
git push origin –tags
删除标签
本地删除
git tag -d v2.1.2
删除远程tag
git push origin :refs/tags/v2.1.2
补打标签
打标签默认在当前最近的一条commit上打,也可在之前的版本上打,这需要你知道某个提交对象的校验和。要在哪个提交上打标签,你需要在命令的末尾指定提交的校验和(或部分校验和)。可以通过git log获取之前的版本号。
git tag -a v2.1.2 9fceb02