如何打标签
标签tag
主要是在完成了一个版本后,用于发布该版本。
相关的命令如下:
列出标签
1 | $ git tag # 打印出当前仓库的所有标签 |
创建标签
git标签有两种类型:轻量标签和附注标签,创建的方法如下所示:
1 | $ git tag v1.0-light # 创建轻量标签,只有一个引用 |
一般创建都建议是附注标签(虽然轻量标签没有很多参数),搞个引用没有多大意思。
创建附注标签时,参数a
即annotated的缩写,指定标签类型,后附标签名。参数m
指定标签说明,说明信息会保存在标签对象中。
可以通过git show v1.0
来看到标签信息和与之对应的提交信息。
补打标签
打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log
获取)。
1 | $ git log --pretty=oneline |
签署标签
如果你有自己的私钥,可以使用GPG来签署标签,只要把-a改为-s即可,也就是signed的意思。
1 | $ git tag -s v0.1.1 校验和 |
验证标签
可以使用
1 | $ git tag -v [tag-name] |
的方式来验证已经签署的标签,其中v的意思为verify,
此命令会调用GPG来验证签名,所以需要有签署者的公钥,存放在keyring中,才能验证。
后期加注标签
如果对早前的那一次提交忘记加注标签了,那么可以使用git log --pretty=oneline
来查看提交的HASH ID,然后使用
git tag -a v1.1 HASH-ID
即可补上标签。
切换标签
切换标签与切换分支命令一样,是用checkout即可,比如:
1 | $ git checkout v1.0.0 # 注意前提是版本存在,可以是用git tag先检查一下 |
删除标签
不需要或者误操作提交一个标签的时候,删除即可,使用的是delete
的缩写
1 | $ git tag -d v1.1.1 |
删除远程tag这么用:
1 | $ git push origin --delete tagname |
查看标签信息
用git show命令可以查看标签的版本信息:
1 | $ git show v0.1.2 |
标签发布
一般情况下,git push 不会将tag提交到服务端,我们需要显式的操作,如下所示:
1 | $ git push origin [tag-name] |
查看某个标签
1 | $ git tag #查看当前分支下的标签 |