JobbyM's Blog

git 常用命令 标签管理

子曰:git 常用命令 标签管理

0x00:前言
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

为什么要引入tag?考虑如下情景:
“请把上周一那个版本打包发布,commit 号是6a5819”
“一串乱七八糟的数字不好找!”
如果换一个办法:
“请把上周一那个版本打包发布,版本号是v1.0.0”
“好的,按照tag v1.0.0 查找commit 就行了!”
所以,tag 就是一个让人容易记住的有意义的数字。

0x01:创建标签
使用git tag <name> 进行创建轻量级标签,轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件。

1
git tag v1.0.0

默认标签是创建在最新提交的commit 上的
使用git tag <name> <commit_id> 将标签创建在某一个commit_id

1
git tag v1.0.0 6a5819

还可以使用git tag -a <name> -m 'commit' 创建一个含附注类型的标签,-aannotated 的首字母)指定标签名字即可。而-m 选项则制定了对应的标签说明

1
git tag -a v1.0.0 -m "my version v1.0.0"

0x02:查看标签
使用git tag 命令查看所有的标签

1
git tag

查看某一个标签详细内容,可以使用git show <tagname>

1
git show v1.0.0

0x03:推送远端
使用命令git push origin <tagname> 将本地某个标签推送到远端

1
git push origin v1.0.0

或者,一次性推送全部尚未推送到远端的本地标签

1
git push origin --tags

0x04:删除标签
如果标签打错了,可以删除,使用命令git tag -d <tagname>

1
git tag -d v1.0.0

如果要删除远端标签,使用命令git push origin :refs/tags/<tagname>

1
git push origin :refs/tags/v1.0.0

0x05:参考文档
1.Git 基础 - 打标签
2.标签管理 廖雪峰