赞
踩
同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签
git tag -l “version”
-l 参数用来指定显示的标签的版本号
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)
轻量级标签就像是个不会变化的分支,实际上它就是个指向特定
提交对象的引用.
而含附注标签,实际上是存储在仓库中的一个独立对象,它有自
身的校验和信息,
包含着标签的名字,电子邮件地址和日期,以及标签说明,
标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证
一般我们都建议使用含附注型的标签,以便保留相关信息;
当然,如果只是临时性加注标签,或者不需要旁注额外信息,用
轻量级标签也没问题。
创建一个含附注类型的标签非常简单,用
git tag -a v1.4 -m ‘my version 1.4’
-m 是对你注释的标签的说明,如果没有给出,Git 会启动文本编辑软件供你输入标签说明
如果你有自己的私钥,还可以用 GPG 来签署标签,只需要把之前的 -a 改为 -s
git tag -s v1.4 -m ‘my version 1.4’
运行 git show 会看到对应的 GPG 签名也附在其内
git tag -v tahname
验证已经签署的标签。此命令会调用 GPG 来验证签名
所以你需要有签署者的公钥,存放在 keyring 中,才能验证
轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件
要创建这样的标签,一个 -a,-s 或 -m 选项都不用,直接给出标签名字即可
git tag v1.4
运行 git show 查看此标签信息,就只有相应的提交对象摘要
默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库
git push origin [tagname]
如果要一次推送所有本地新增的标签上去,可以使用 --tags 选项
git push origin --tags
查看相应标签的版本信息,并连同显示标签时提交的对象一起
也可以在日志中查看标签
git log --decorate
git config --global alia newname taskname
例如:
$ git config --global alias.unstage 'reset HEAD --'
这样一来,下面的两条命令完全等同:
$ git unstage fileA
$ git reset HEAD fileA
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。