git标签

打标签

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

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

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

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

$ 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 查看标签详细信息:

$ git show v0.0
commit c148ffd67da041fcfbd3e03388d4c6f24fd75255
Author: wm <[email protected]>
Date:   Sat Jan 6 11:04:29 2018 +0800

    i see water here

# 省略
$ git show v1.0
tag v1.0
Tagger: wm <[email protected]>
Date:   Sat Jan 6 19:01:19 2018 +0800

start a poetry

commit c36bdf60681c48cc25b55247aceb47ddf22fe6f9
Author: wm <[email protected]>
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://[email protected]': 
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://[email protected]': 
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标签。

你可能感兴趣的:(git标签)