Skip to content

Latest commit

 

History

History
77 lines (47 loc) · 2.13 KB

tagging.md

File metadata and controls

77 lines (47 loc) · 2.13 KB

打标签

列出标签

以字母顺序列出标签:

$ git tag

创建标签

Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated)。

轻量标签

轻量标签类似一个不会改变的分支 —— 它只是一个特定提交的引用。轻量标签本质上是将提交校验和存储到一个文件中 —— 没有保存任何其他信息。

创建轻量标签,只需要提供标签名字即可:

$ git tag [tagname]

附注标签

附注标签是存储在 Git 数据库中的一个完整对象。它们是可以被校验的;其中包含打标签者的名字、电子邮件地址、日期时间;还有一个标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证。

创建附注标签,需要在运行 git tag 命令时指定 -a 选项:

$ git tag -a [tagname] -m 'my version 1.4'

-m 选项指定了一条将会存储在标签中的信息。如果没有为附注标签指定一条信息,Git 会运行编辑器要求你输入信息。

后期打标签

指定提交的校验和(或部分校验和),可以对特定的提交打标签:

$ git tag [tagname] [commitId]

共享标签

默认情况下,git push 命令并不会传送标签到远程仓库服务器上。在创建完标签后你必须显式地推送标签到共享服务器上。这个过程就像共享远程分支一样。

要推送某个标签到远程仓库上,使用命令:

$ git push origin [tagname]

要一次性推送所有不在远程仓库上的标签,可以使用带有 --tags 选项的 git push 命令:

$ git push origin --tags

删除标签

删除本地标签:

$ git tag -d [tagname]

如果标签已经推送到了远程,还需要删除远程的标签:

$ git push origin :refs/tags/[tagname]

检出标签

在 Git 中你并不能真的检出一个标签,因为它们并不能像分支一样来回移动。 如果你想要工作目录与仓库中特定的标签版本完全一样,可以使用 git checkout -b [branchname] [tagname] 在特定的标签上创建一个新分支。