打標簽
git支持兩種類型的標簽:輕量標簽與附注標簽。
輕量標簽是一個指向特定提交的引用,但是它不可被移動。
附注標簽是一個在git數(shù)據(jù)庫中的完整對象,它包含打標簽者的名字、電子郵件地址、日期時間,并且是可以被校驗的。
打一個輕量標簽很容易,使用git tag <tagname>即可:
$ git tag v0.0
git會給當(dāng)前分支最近的提交對象打上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.0和v1.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標簽。