标签主要用于记录一些关键提交,比如某个版本等,接下来介绍如何使用。
查看系统tags
$ git tag
2.1.0_OK
2.1.1
如果系统中得tag数量众多,如何查找某个特定得版本呢,或者模糊查找所有tag以2.1为开头得tags
$ git tag -l "2.1*"
2.1.0_OK
2.1.1
添加tag
介绍完查看tag list,现在介绍下如何添加tag,Git 提供了两种标签:轻量标签(lightweight)以及附注标签(annotated)。
- 轻量标签
它只是某个特定提交的引用,无其他附加信息,使用比较简单,命令后直接加tag名字
git tag v2.1.2
- 附注标签
顾名思义,该方式可以包含很多附加信息,如打标签者的名字、电子邮件地址、日期时间以及自定义信息,支持GNU Privacy Guard (GPG)签名。 使用方法如下:
$ git tag -a v2.1.2 -m "Version 2.1.2"
$ git tag
2.1.0_OK
2.1.1
v2.1.2 #已经添加成功了
如果要查看某个tag得详细信息的话,只需输入如下指令
$ git show v2.1.2
tag v2.1.2
Tagger: Bruce <email>
Date: Thu Aug 27 11:05:13 2020 +0800
Version 2.1.2 #此处为添加得tag注释信息
commit 4f28bc77cbf3197167378673552c8a0c1aa0778b (HEAD -> master, tag: v2.1.2, origin/master)
......
对历史commit添加tag
首先,查看下历史commit得hash码
$ git log --pretty=oneline
4f28bc77cbf3197167378673552c8a0c1aa0778b (HEAD -> master, tag: v2.1.2, origin/master) v2.1.2 Add api for checking TCP connecting state. Add api of SDK version and build date.
5fb23ac94dfbf8b7854262faf46d4ebe4506a007 (tag: 2.1.1, origin/2.1.1) Add feature
d8a4e7ca123758cf86d674fe41c72130212f0549 Full functional.
71abe3179c20e01048941b0b50461115146733b2 no message
f146107209edefe2f1f632861b3d59fce58093bd create
假如要给最后一行create这次提交添加一个tag
$ git tag -a v2.0 -m "Create 2.0" a2cd11
$ git show v2.0
tag v2.0
Tagger: Bruce
Date: Thu Aug 27 13:30:17 2020 +0800
Create 2.0
commit a2cd11cc6620893a01517e7b9461beb4f9a822c3 (tag: v2.0)
将tag信息同步到remote repository
上述操作完成后,tag信息只是存在于local得git工作区,如果要push到remote repo,需要执行以下操作:
$ git push origin v2.1.2
Counting objects: 1, done.
Writing objects: 100% (1/1), 174 bytes | 87.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://xxxxxx.git
* [new tag] v2.1.2 -> v2.1.2
上述命令一次推送一条tag,如果要推送所有tag,如下操作
$ git push origin --tags
删除tag
- 删除本地tag
假设要删除v2.0这个tag
$ git tag -d v2.0
- 删除remote tag
$ git push origin --delete v2.0
网友评论