git tag使用详解

用途
Git 可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,使用tag标签,给仓库中的项目添加每期的tag,方便进行管理.

显示所有标签

$ git tag

标签分类

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

含附注的标签

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

$ git tag -a v1.4 -m 'my version 1.4'

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

打轻量标签

$ git tag v1.4

查看相应标签的版本信息

$ git show v1.4

列出了此标签的提交者和提交时间,以及相应的标签说明。

签署标签

如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的 -a 改为 -s (译注: 取 signed 的首字母)即可:

git tag -s v1.5 -m 'my signed 1.5 tag'

补打标签

打标签不必要在head之上,也可在之前的版本上打,这需要知道历史某个提交(通过git log 命令)。
先查看提交状态

git log --oneline --decorate --graph

注意下方红方框的乱码。
这里写图片描述

补打标签

git tag -a v3.0 8bc152c

提交所有标签

git push origin --tags

推送指定标签

git push origin v2.0

删除标签

git tag -d v2.0

删除远程标签

git push origin :refs/tags/2.0

git push origin --delete tag 2.0

参考:

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE#%E5%90%8E%E6%9C%9F%E5%8A%A0%E6%B3%A8%E6%A0%87%E7%AD%BE

猜你喜欢

转载自blog.csdn.net/guyan0319/article/details/79595483