citi:git-scm
Git 标签 (Git Basics - Tagging)
打标签
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。
列出标签
在 Git 中列出已有的标签非常简单,只需要输入 git tag (可带上可选的 -l 选项 –list):
1 | $ git tag |
这个命令以字母顺序列出标签,但是它们显示的顺序并不重要。
你也可以按照特定的模式查找标签。 例如,Git 自身的源代码仓库包含标签的数量超过 500 个。 如果只对 1.8.5 系列感兴趣,可以运行:
1 | $ git tag -l "v1.8.5*" |
创建标签
Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated)。
轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。
而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。
附注标签
在 Git 中创建附注标签十分简单。 最简单的方式是当你在运行 tag 命令时指定 -a 选项:
1 | $ git tag -a v1.4 -m "my version 1.4" |
-m 选项指定了一条将会存储在标签中的信息。 如果没有为附注标签指定一条信息,Git 会启动编辑器要求你输入信息。
通过使用 git show 命令可以看到标签信息和与之对应的提交信息:
1 | $ git show v1.4 |
输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。
轻量标签
另一种给提交打标签的方式是使用轻量标签。 轻量标签本质上是将提交校验和存储到一个文件中——没有保存任何其他信息。 创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字:
1 | $ git tag v1.4-lw |
这时,如果在标签上运行 git show,你不会看到额外的标签信息。 命令只会显示出提交信息:
1 | $ git show v1.4-lw |
输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。
- 本文作者: Zongyao-Li
- 本文链接: http://example.com/2021/09/29/Git-lightweight/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!