git tag标签可以针对某一时间点的版本做标记,常用于版本发布。
列出标签
$ git tag # 列出当前仓库的所有标签
$ git tag -l ‘v0.2.*’ # 搜索符合模式的标签
打标签
git标签分为两种类型:轻量标签和附注标签。
轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象(比较常用的的附注标签)。
$ git tag v0.2.2-light # 轻量标签
$ git tag -a v0.2.2 -m “0.2.2版本” # 附注标签
轻量标签不需要传递参数,直接指定标签名称即可。
附注标签,参数a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。
切换标签
与切换分支命令相同,用git checkout [tagname]
查看标签信息
用git show命令可以查看标签的版本信息:
$ git show v0.2.2
删除标签
$ git tag -d v0.2.2 # 删除标签
参数d即delete的缩写,意为删除其后指定的标签。
给指定的commit打标签
打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取)。
$ git tag -a v0.2.1 9fbc3d0 # 补打标签
发布标签
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
$ git push origin v0.2.2 # 将v0.2.2标签提交到git服务器
$ git push origin –tags # 将本地所有标签一次性提交到git服务器
注意1:如果想看之前某个标签状态下的文件,可以这样操作
git tag 查看当前分支下的标签
git checkout v0.2.1 此时会指向打v0.2.1标签时的代码状态,(但现在处于一个空的分支上)
cat test.txt 查看某个文件
注意2:git pull 无法拉取最新的tag可以使用下列命令
git fetch origin --tags