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 tagv0.0v1.0
這表示我們目前有兩個標籤:v0.0
和v1.0
。
使用git show <tagname>
查看標籤詳細信息:
$ git show v0.0commit c148ffd67da041fcfbd3e03388d4c6f24fd75255Author: wm <1626364188g@gmail.com>Date: Sat Jan 6 11:04:29 2018 +0800 i see water here# 省略$ git show v1.0tag v1.0Tagger: wm <1626364188g@gmail.com>Date: Sat Jan 6 19:01:19 2018 +0800start a poetrycommit c36bdf60681c48cc25b55247aceb47ddf22fe6f9Author: 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.0Username for https://github.com: mwangghPassword 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 --tagsUsername for https://github.com: mwangghPassword 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
標籤。
推薦閱讀:
※使用Git的童鞋們,你們每次提交的依據一般是以什麼為單位的呢?
※如何在mac下遠程搭建git伺服器?
※一入前端深似海,從此紅塵是路人系列第十彈之如何合理利用Git進行團隊協作(一)
※git 中如何撤銷部分修改?
※為什麼你應該停止使用 Git rebase 命令
TAG:Git |