比较有代表性的是使用标签来标记发布结点(v1.0 等等)
列出标签
|
|
这个命令以字母顺序列出标签;但是它们出现的顺序并不重要。
创建标签
Git 使用两种主要类型的标签:
- 轻量标签(lightweight),很像一个不会改变的分支 - 它只是一个特定提交的引用。
- 附注标签(annotated),是存储在 Git 数据库中的一个完整对象。 它们是可以被校验的;其中包含打标签者的名字、电子邮件地址、日期时间;还有一个标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证。
通常建议创建 附注标签,这样你可以拥有以上所有信息;但是如果你只是想用一个临时的标签,或者因为某些原因不想要保存那些信息,轻量标签也是可用的。
附注标签
|
|
-m 选项指定了一条将会存储在标签中的信息。
通过使用 git show v1.4
命令可以看到标签信息与对应的提交信息。
轻量标签
创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字:
|
|
删除标签
|
|
后期打标签
假设提交历史是这样的:
|
|
现在,假设在 v1.2 时你忘记给项目打标签,也就是在 “updated rakefile” 提交。 你可以在之后补上标签。 要在那个提交上打标签,你需要在命令的末尾指定提交的校验和(或部分校验和):
|
|
共享标签
默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。
|
|
检出标签
在 Git 中你并不能真的检出一个标签,因为它们并不能像分支一样来回移动。 如果你想要工作目录与仓库中特定的标签版本完全一样,可以使用 git checkout -b [branchname] [tagname] 在特定的标签上创建一个新分支:
|
|
当然,如果在这之后又进行了一次提交,version2 分支会因为改动向前移动了,那么 version2 分支就会和 v2.0.0 标签稍微有些不同,这时就应该当心了。