Git基础-打标签

时间:2023-03-08 17:23:01

打标签

同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。

列显已有的标签

列出现有标签的命令非常简单,直接运行 git tag 即可:

Git基础-打标签

我们可以用特定的搜索模式列出符合条件的标签。在 Git 自身项目仓库中,有着超过 240 个标签,如果你只对 AR_POC 系列的版本感兴趣,可以运行下面的命令:

Git基础-打标签

新建标签

Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。

Git基础-打标签

含附注的标签

创建一个含附注类型的标签非常简单,用 -a (译注:取 annotated 的首字母)指定标签名字即可;

而 -m 选项则指定了对应的标签说明,Git 会将此说明一同保存在标签对象中。如果没有给出该选项,Git 会启动文本编辑软件供你输入标签说明。

可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象。

Git基础-打标签

.........

具体参考:https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE

下面我来说明下批量打标签,当然少不了好用的repo forall命令啦,嘻嘻~

1.列出本地代码库中的所有qc开头的git 标签:

repo forall -c 'pwd && git tag -l qc*'

2.本地所有git代码库打标签

repo forall -c 'pwd && git tag -a 'TagName' -m 'TagName''

3.将打好的标签Push 到服务器上

(repo forall -c 'pwd && git push gerrit_lv '$tmp1'')2>&1 | tee pushtag.log

啦啦啦,就这样啦~ 下一片博客说明如何打patch~