git标签

打标签

git支持两种类型的标签:轻量标签与附注标签。

轻量标签是一个指向特定提交的引用,但是它不可被移动。

附注标签是一个在git数据库中的完整对象,它包含打标签者的名字、电子邮件地址、日期时间,并且是可以被校验的。

打一个轻量标签很容易,使用git tag <tagname>即可:

$ git tag v0.0

git会给当前分支最近的提交对象打上v0.0标签。

如果要给其他的提交对象打标签,需要写明提交对象SHA-1串。

打附注标签需要使用-a选项,-m选项可以填写标签描述:

$ git tag -a v1.0 -m "start a poetry" c36bdf6

上面的命令表示:在c36bdf6上打一个附注标签,标签名是v1.0,标签描述是start a poetry

查看标签

使用git tag即可查看标签:

$ git tag
v0.0
v1.0

这表示我们目前有两个标签:v0.0v1.0

使用git show <tagname>查看标签详细信息:

$ git show v0.0
commit c148ffd67da041fcfbd3e03388d4c6f24fd75255
Author: wm <1626364188g@gmail.com>
Date:   Sat Jan 6 11:04:29 2018 +0800

    i see water here

# 省略
$ git show v1.0
tag v1.0
Tagger: wm <1626364188g@gmail.com>
Date:   Sat Jan 6 19:01:19 2018 +0800

start a poetry

commit c36bdf60681c48cc25b55247aceb47ddf22fe6f9
Author: wm <1626364188g@gmail.com>
Date:   Sat Jan 6 10:42:05 2018 +0800

    i see you there

其中v0.0是轻量标签,v1.0是附注标签。附注标签比轻量标签保存更多的信息。

推送标签

git push默认不会推送标签,如果要推送标签,需要使用下面的命令:

$ git push origin v1.0
Username for 'https://github.com': mwanggh
Password for 'https://mwanggh@github.com': 
Counting objects: 1, done.
Writing objects: 100% (1/1), 159 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/mwanggh/myFirstGit.git
 * [new tag]         v1.0 -> v1.0

上面的命令会将v1.0标签推送到origin

如果要把所有未推送的标签都推送到远程,可以使用--tags选项:

$ git push origin --tags
Username for 'https://github.com': mwanggh
Password for 'https://mwanggh@github.com': 
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/mwanggh/myFirstGit.git
 * [new tag]         v0.0 -> v0.0

检出标签

标签并不能像分支那样移动,如果想要检出标签,可以将其检出到一条新分支上:

$ git checkout -b version2 v2.0.0

这条命令会新建一条version2分支,它与v2.0.0指向相同。

删除标签

本地删除标签很简单:

git tag -d v0.0

这条命令会删除v0.0标签。

删除远程标签需要使用git push命令:

$ git push origin :refs/tags/v0.0

这会删除远程的v0.0标签。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、电脑本地初始化一个仓库 1. git init: 初始化一个电脑上本地仓库 终端进入项目目录,输入: 该命令将...
    dragon_li阅读 3,005评论 1 4
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,791评论 1 17
  • 在发布版本时,我们通常先在版本库打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个...
    程序员七哥阅读 1,009评论 2 3
  • 今天是个阳光灿烂的日子,我的心情也格外灿烂,因为,寒假生活终于来了。 妈妈说,全家大扫除...
    姚若曦阅读 485评论 0 2
  • http://estore.wacom.com.cn/Default.aspx 影拓数位板 http://www....
    kuileishi阅读 237评论 0 1