1.名词:打 tag (在ali实习的时候,老是听他们说打tag)
意思:就是加上标签啦!
命令:显示已有的标签:git tag
如果某些特定的版本感兴趣,可以传入 perl正则匹配 ,如:git tag -l 'v1.4.2.*'
新建标签:
(1)轻量级的(lightweigt):指向特定提交对象的引用。
保存着对应提交对象的校验和信息的文件。创建只需直接给出标签名字即可。
命令:git tag 名称
(2)含附注的(annotated):存储在仓库中的一个独立对象,有自身的校验和信息,包含着标签的名字、电子邮件地址和日期,以及标签说明,标签本身也允许使用GUN Privacy Guard (GPG)来签署或验证。
命令:git tag -a (annotated的首字母)
eg : git tag -a v1.4 -m 'my version 1.4'
(-m指定了对应的标签说明,Git会将此说明一同保存在标签中。如果没有给出该选项,Git会启动文本编辑软件供你输入标签说明)签署标签:
将-a改为-s(signed的首字母)
eg:git tag -s v1.5 -m "my version tag"
验证标签:
命令:git tag -v [tag-name] (verify的首字母)的方式验证已经部署的标签。
此命令会调用GPG来验证签名,所以需要有签署者的公钥,存放在keyring中,才能验证。
后期加注标签:
只要在打标签的时候跟上对应提交对象的校验和(或前几位字符即可)
eg:
>git log --pretty=online
9fceb02d0ae598e95dc970b74767f19372d61af8 updated rakefile
>git tag -a v1.2 9fceb02 (提交时忘了打,现在也可以打)
分享标签:(其他人克隆共享仓库或拉取数据同步后,也会看到这些标签。)
默认情况下,git push不会把标签传送到远端服务器上,只有通过显示命令才能分享标签到远端仓库。
命令:git push origin [tagname]
如果要一次推送所有本地新增的标签上去,可以使用 --tags
选项:
命令:git push origin --tags