附原文链接: http://www.happycxz.com/m/?p=221
查询
当前仓库的所有标签
$ git tag
符合模式的标签
$ git tag -l ‘v0.1.*’
查看标签的版本信息
$ git show v0.1.2
创建
轻量标签
$ git tag v0.1.2.light
附注标签
$ git tag -a v0.1.2 -m “v0.1.2版”
补打标签(给指定的commit打标签)
$ git tag -a v0.1.1 9fbc3d0
打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取)。
提交
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
单个
$ git push origin v0.1.2
全部
$ git push origin –tags
切换
$ git checkout [tagname]
删除
本地删除
$ git tag -d v0.1.2
删除远程标签
$ git push origin :refs/tags/v1.01
就像git push origin :branch_1 可以删除远程仓库的分支branch_1一样, 冒号前为空表示删除远程仓库的tag。
其它
注意:如果想看之前某个标签状态下的文件,可以这样操作
1. git tag 查看当前分支下的标签
2. git checkout v0.21 此时会指向打v0.21标签时的代码状态,(但现在处于一个空的分支上)
3. cat test.txt 查看某个文件