git tag的用法(打tag,删除Tag等)

2,764 阅读2分钟

标签(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

参考资料:git-scm.com/book/zh/v2/…