git tag¶
git tag命令用于创建, 列出, 删除或验证使用GPG签名的标签对象.
注解
- 创建的标签存储在
.git/refs/tags路径下; - 可以为特定的版本创建一个标签, 便于使用.
比如版本号更新时可以创建一个
version1.0,version1.2之类的标签, 这样在以后回顾的时候会比较方便.
列出已有的标签
git tag或git tag -l.创建标签
Git使用的标签使用有两种类型:
- 轻量级的(lightweight);
- 含附注的(annotated).
轻量级标签就像是个不会变化的分支, 实际它就是个指向特定commit的引用. 而含附注标签, 实际上是存储在仓库中的一个独立对象, 它有自身的校验和信息, 包含着标签的名字, 电子邮件地址和日期, 以及标签说明, 标签本身也允许使用GNU Privacy Guard(GPG)来签署或验证.
一般我们都建议使用含附注型的标签, 以便保留相关信息; 当然, 如果只是临时性加注标签, 或者不需要旁注额外信息, 用轻量级标签也没问题.
git tag <tagname> commit- 创建一个轻量级标签.为指定的
commit创建一个标签, 如果没有指定commit则就是当前HEAD所指向的commit.git tag -a <tagname> -m "message" commit- 创建一个含附注的标签对象.-a选项表示创建一个含附注的标签对象;-m选项指定对标签的说明, Git会将此说明一同保存在标签对象中. 如果没有给出该选项, Git会启动文本编辑器以供输入标签说明.
注解
- 除非使用
-f选项, 否则不能创建已经存在的标签; - 可以使用
git show命令查看相应标签的信息; - 可以在后期为早先的某此提交加注标签.
删除标签
git tag -d <tagname>
分享标签
默认情况下,
git push并不会把标签推送到远端服务器上, 只有通过显式命令才能分享标签到远端仓库.要推送指定标签, 执行以下命令:
git push origin [tagname]
如果要一次推送所有本地新增的标签, 可以使用
--tags选项:git push origin --tags
现在, 其他人克隆共享仓库或拉去数据同步后, 也会看到这些标签.