Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
查看现有的标签
git tag
创建标签
annotated带注解的标签:
git tag -a v1.0 -m '淘宝页面'
查看标签版本信息
git show v1.0
gitk查看也很清楚,有一个黄色标签。
轻量级标签,不需要-a 、-m或者-s 参数
git tag v1.1-w
推送标签到服务器:
git push origin --tags
对标签进行签名:
git tag -s v1.1 -m '签名的标签'
切换到一个标签,和切换到分支的操作是一样的:
git checkout v1.0
删除标签:
git tag -d v1.0
给指定的commit打标签:
git tag -a v1.11 7dc3060f2aeb93deaa2d8cf15a457ae913c48728 -m '给commit增加的标签'
删除远程分支:
git push origin :refs/tags/v1.1-w
或者
git push origin --delete tag v1.1-w
查看远程tag
git ls-remote --tags origin
同步远程tag(无法同步被删除的tag)
只能手动删除,或者删除全部本地tag再重新拉取。