標籤:

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.0v1.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 |