Git 常用命令 - Tag

显示所有标签

1
2
3
4
$ git tag
v0.1-alpha
v0.1.1-alpha
v2.0.0.1000-release

显示符合条件的标签

1
2
3
$ git tag -l 'v0.1*'
v0.1-alpha
v0.1.1-alpha

在本地新建标签

1
$ git tag -a v2.0.0.1000-release -m 'Release Version 2.0.0 Version Code 1000'

说明:
-a(annotated) 创建一个含附注类型的标签
-m 添加标签说明
注意:执行完新建标签命名后,此时的标签并没有上传到远程服务器上。需要进行“享标签”操作,才能上传到远程服务器。
也可以不使用 -a 和 -m 参数,仅指定标签名,从而创建一个轻量级标签(实际上就是一个保存着对应提交对象的校验和信息的文件):

1
$ git tag v2.0.0.1000-release

查看指定的标签版本信息及提交信息

1
2
3
4
5
6
7
8
9
$ git show v0.1-alpha 
tag v0.1-alpha
Tagger: yhz61010 <xxx@example.com>
Date: Fri Aug 18 10:45:09 2017 +0800
vitamio mediaplayer version
commit bfr82ae576f208a234a3671a98baafeyg659fs2
Author: yhz61010 <xxx@example.com>
Date: Mon Aug 14 09:47:24 2017 +0800
...

分享标签
默认情况下,git push 并不会把标签上传到远程服务器上,必须通过 push 命令才能分享标签到远程仓库。
将本地添加的所有标签上传到远程服务器

1
2
3
4
5
6
7
8
$ git push origin --tags
Username for '<your git url>': <your git username>
Password for '<your password>':
对象计数中: 1, 完成.
写入对象中: 100% (1/1), 187 bytes | 0 bytes/s, 完成.
Total 1 (delta 0), reused 0 (delta 0)
To <your git url>
* [new tag] v2.0.0.1000-release -> v2.0.0.1000-release

上传指定的标签到远程服务器

1
$ git push origin v1.5

删除本地 Tag

1
2
$ git tag -d v1.0
已删除标签 'v1.0'(曾为 fd0a4a0)

删除远程 Tag

1
2
3
4
5
$ git push origin :refs/tags/v1.0
Username for 'url': <your user name>
Password for 'url': <your password>
To <git url>
- [deleted] v1.0

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

坚持原创及高品质技术分享,您的支持将鼓励我继续创作!