progit之 git 基础(3)
一、打标签
Git可以给历史中的某一个提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布节点(v1.0 等)。主要涉及如何列出已有标签、如何创建新标签以及不同类型的标签分别是什么
1. 列出标签
# 这个命令以字母顺序列出标签;但是他们出现的顺序并不重要 $ git tag v0.1 v1.3 # 如果只对 1.8.5系列感兴趣 $ git tag -l 'v1.8.5*' v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4 v1.8.5.5
2. 创建标签
Git 使用两种主要类型的标签:轻量标签(lightweight)和 附注标签(annotated)
轻量标签很像一个不会改变的分支——它只是一个特定提交的引用。
附注标签是存储在Git数据库中的一个完整对象,他们是可以被校验的。其中包含打标签者的名字、电子邮件地址、日期时间,还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名与验证。
3. 附注标签
创建附注标签最简单的方式是当你在运行 tag 命令时指定 -a 选项; -m选项指定了一条将会存储在标签中的信息。
$ git tag -a v1.4 -m 'my version 1.4' $ git tag v0.1 v1.3 v1.4
通过使用 git show 命令可以看到标签信息与对应的提交信息
$ git show v1.4 tag v1.4 Tagger: Ben Straub <ben@straub.cc> Date: Sat May 3 20:19:12 2014 -0700 my version 1.4 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <schacon@gee-mail.com> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number
4. 轻量标签
轻量标签本质上是将提交检验和存储到一个文件中,没有保存任何其他信息。创建轻量标签,不需要使用-a、-s或-m选项,只需提供标签名字。
这时,如果在标签上运行 git show,你不会看到额外的标签信息,只会显示出提交信息。
$ git tag v1.4-lw $ git tag v0.1 v1.3 v1.4 v1.4-lw v1.5
5. 后期打标签
如果你想对之前的一个提交打上标签,可以在之后补上标签。需要在命令的末尾指定提交的校验和(或部分校验和)
$ git tag -a v1.2 9fceb02
6. 共享标签
默认情况下,git push 并不会传送标签到远程仓库服务器上。在创建完标签后你必须显示的推送标签到共享服务器上
猪猪侠要努力呀!