博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

git tag

Posted on 2017-07-17 11:25  bw_0927  阅读(170)  评论(0)    收藏  举报

Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。

含附注的标签

创建一个含附注类型的标签非常简单,用 -a (译注:取 annotated 的首字母)指定标签名字即可:

$ git tag -a v1.4 -m 'my version 1.4'

$ git show v1.4

后期加注标签

$ git log --pretty=oneline

$ git tag -a v1.2 9fceb02

 

版本

版本号必须符合semver,其的形式为{major}.{minor}.{patch}[-{pre-release-type}.{pre-release}]

其中majorminorpatch和{pre-release}`必须为十进制数字,且随版本发布递增。

{pre-release-type}必须选择以下关键词之一:

  • alpha表示内部测试版本,不建议任何非参与开发人员所在团队使用,在alpha版本期间会不断增加新的功能并修复已有BUG
  • beta表示公开测试版本,不建议稳定项目使用,在beta版本期间会酌情增加新功能,修复已知BUG
  • rc表示发布候选版本,推荐各项目使用,在rc期间不得增加任何新功能,仅修复BUG。如果rc版本未发现任何BUG,则此版本直接转为正式发布版

 

create a new branch from a tag

git checkout -b newbranch v1.0

git checkout tags/<tag_name> -b <branch_name>

git checkout tags/<tag_name>

 

 

 

==================================================

http://blog.csdn.net/shines/article/details/8558293

事实上Git 的推送和删除远程标签命令是相同的,删除操作实际上就是推送空的源标签refs:
git push origin 标签名
相当于
git push origin refs/tags/源标签名:refs/tags/目的标签名


git push 文档中有解释:

 

tag <<tag>> means the same as refs/tags/<tag>:refs/tags/<tag>.
Pushing an empty <src> allows you to delete the <dst> ref from the remote repository.

 

推送标签:

  1. git push origin 标签名  

删除本地标签:

  1. git tag -d 标签名  

删除远程标签:

  1. git push origin :refs/tags/标签名  
  2.   
  3. git push origin :refs/tags/protobuf-2.5.0rc1  
  4.  
  5. git push origin :标签名  

都行    

 

其他本地操作:

  1. #打标签  
  2. git tag -a v1.1.4 -m "tagging version 1.1.4"  
  3.   
  4. #删除本地仓库标签  
  5. git tag -d v1.1.4  
  6.   
  7. #列出标签  
  8. git tag   

参考文档:
http://nathanhoad.net/how-to-delete-a-remote-git-tag
http://linux.die.net/man/1/git-push