1.标签简介
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来,所以,标签也是版本库的一个快照。
Git 的标签虽然是版本库的快照,但其实它就是指向某个 commit 的指针,所以,创建和删除标签都是瞬间完成的。
2.打标签
2.1 创建标签
Git 支持两种标签:轻量标签(lightweight)与 附注标签(annotated)
2.1.1 轻量标签
轻量标签本质上是将提交校验和存储到一个文件中——没有保存任何其他信息
$ git tag v1.0.0
2.1.2 附注标签
附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
$ git tag -a v1.0.0 -m "my version 1.4"
$ git tag -a v1.0.0 9fceb02 //对过去的某次提交打标签
$ git push origin v1.0.0 //将标签1.0.0推送到远程仓库
2.2 查看已有标签
$ git tag
2.3 删除标签
$ git tag -d v1.0.0
上述命令并不会从任何远程仓库中移除这个标签,你必须用:
git push <remote> :refs/tags/<tagname>
或者git push origin --delete <tagname>
2.4 检出标签
$ git checkout v1.0.0