给某一提交历史打上标签后,以示重要。比如用标签表示发布版本(v1.0、v2.0 等)。
标签是和 commit-id 关联的,打上标签后,也可以快速寻找到某特定版本。
一、新建标签
命令:git tag
使用方法:
- 轻量标签:只是某提交历史的引用
- 下面命令,默认给最新版本打标签
git tag <tag-name>
- 附注标签:指定
-a
选项,此时会要求附带标签信息 - 会保存创建附注标签用户的名字、邮箱、日期,和提交的标签信息
git tag -a <tag-name> -m <message>
两种标签命令后面均可以指定 commit-id,在指定的提交记录上打标签。
实际操作:
//注:操作系统 Centos7,下同
[player@study test]$ git tag -a v1.0 -m "version 1.0"
标签总是和 commit-id 关联的,也就是说不同分支是可以看到相同标签的。
二、查看标签
命令:git tag
或 git show
使用方法:
- 查看标签
git tag
- 查看标签详情
git show <tag-name>
实际操作:
[player@study test]$ git tag
v1.0
[player@study test]$ git show v1.0
tag v1.0
Tagger: player <player@xx.com>
Date: Thu Dec 27 21:42:57 2018 +0800
version 1.0
...
还有其他信息,未列出
三、推送标签至远程仓
命令:git push origin <tag-name>
使用方法:
- 可以用 --tags 代替所以标签名
git push origin <tag-name>
实际操作:
[player@study test]$ git push origin v1.0
Counting objects: 1, done.
Writing objects: 100% (1/1)
Writing objects: 100% (1/1), 155 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@github.com:player/test.git
* [new tag] v1.0 -> v1.0
四、删除标签
命令:git tag -d
使用方法:
- 删除指定标签
git tag -d <tag-name>
实际操作:
[player@study test]$ git tag -d v1.0
Deleted tag 'v1.0' (was a87ff33)
五、删除远程仓标签
命令:git push origin :refs/tags/<tag-name>
使用方法:
- 注意origin后 空格,相当于推一个空标签以此删除远程标签
git push origin :refs/tags/<tag-name>
- 或使用 --delete 参数
git push origin --delete tag <tag-name>
实际操作:
[player@study test]$ git push origin :refs/tags/v1.0
To git@github.com:player/test.git
- [deleted] v1.0
推荐阅读: