原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:https://cloud.tencent.com/developer/article/1596365
git tag
标签tag
是特定提交commit
一个指针
,也就是每个tag
对应一个特定的commit
。
创建附注标签时,参数-a
即annotated
的缩写,指定标签类型,后附标签名。参数-m
指定标签说明,说明信息会保存在标签对象中。
# 只写单行注释
$ git tag -a v1.0.0 -m "release veraion 1.0.0"
# 可以写多行注释
$ git tag -a v1.1.0
# 回车后会进入vim界面,编写tag的标签说明
轻量级标签
轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件。要创建这样的标签,一个 -a
,-s
或 -m
选项都不用,直接给出标签名字即可。
$ git tag v1.1.1-lw
$ git tag
$ git tag -l "v1.*.*"
$ git show v1.0.0
误打或需要修改标签时,需要先将标签删除,再打新标签
参数-d
即delete
的缩写,意为删除其后指定的标签。
$ git tag -d v1.1.0
给指定的commit打标签
打标签不必要在HEAD
之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和,通过git log
命令获取。
$ git tag -a v1.1.0 a7fd2561f3866f1db5b0e713cbb993880653ac37
切换标签与切换分支命令相同
切换标签后处于一个空的分支上,即”You are in ‘detached HEAD’ state.”
$ git checkout [tagname]
v1.0.0
标签提交到git服务器
通常的git push
不会将标签对象提交到git服务器
,我们需要进行显式的操作。$ git push origin v1.0.0
$ git push origin –tags
Git 基础 - 打标签:
https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE