天天看點

Git 标簽Git 标簽

如果你達到一個重要的階段,并希望永遠記住那個特别的送出快照,你可以使用 git tag 給它打上标簽。

比如說,我們想為我們的 w3cschoolcc 項目釋出一個"1.0"版本。 我們可以用 git tag -a v1.0 指令給最新一次送出打上(HEAD)"v1.0"的标簽。

-a 選項意為"建立一個帶注解的标簽"。 不用 -a 選項也可以執行的,但它不會記錄這标簽是啥時候打的,誰打的,也不會讓你添加個标簽的注解。 我推薦一直建立帶注解的标簽。

當你執行 git tag -a 指令時,Git 會打開你的編輯器,讓你寫一句标簽注解,就像你給送出寫注解一樣。

現在,注意當我們執行 git log --decorate 時,我們可以看到我們的标簽了:

如果我們忘了給某個送出打标簽,又将它釋出了,我們可以給它追加标簽。

例如,假設我們釋出了送出 85fc7e7(上面執行個體最後一行),但是那時候忘了給它打标簽。 我們現在也可以:

如果我們要檢視所有标簽可以使用以下指令:

指定标簽資訊指令:

PGP簽名标簽指令:

筆記清單

<a href="http://www.runoob.com/git/git-tag.html#commentform"></a>

1、标簽介紹

釋出一個版本時,我們通常先在版本庫中打一個标簽(tag),這樣就唯一确定了打标簽時刻的版本。将來無論什麼時候,取某個标簽的版本,就是把那個打标簽的時刻的曆史版本取出來。

是以,标簽也是版本庫的一個快照。

Git 的标簽雖然是版本庫的快照,但其實它就是指向某個 commit 的指針(跟分支很像對不對?但是分支可以移動,标簽不能移動),是以,建立和删除标簽都是瞬間完成的。

Git有commit,為什麼還要引入tag? "請把上周一的那個版本打包釋出,commit号是6a5819e…" "一串亂七八糟的數字不好找!" 如果換一個辦法: "請把上周一的那個版本打包釋出,版本号是v1.2" "好的,按照tag v1.2查找commit就行!" 是以,tag就是一個讓人容易記住的有意義的名字,它跟某個commit綁在一起。

同大多數 VCS 一樣,Git 也可以對某一時間點上的版本打上标簽。人們在釋出某個軟體版本(比如 v1.0 等等)的時候,經常這麼做。

本節我們一起來學習如何列出所有可用的标簽,如何建立标簽,以及各種不同類型标簽之間的差别。

Git 使用的标簽有兩種類型:輕量級的(lightweight)和含附注的(annotated)。

輕量級标簽就像是個不會變化的分支,實際上它就是個指向特定送出對象的引用。

而含附注标簽,實際上是存儲在倉庫中的一個獨立對象,它有自身的校驗和資訊,包含着标簽的名字,電子郵件位址和日期,以及标簽說明,标簽本身也允許使用 GNU Privacy Guard (GPG) 來簽署或驗證。

一般我們都建議使用含附注型的标簽,以便保留相關資訊;

當然,如果隻是臨時性加注标簽,或者不需要旁注額外資訊,用輕量級标簽也沒問題。

本文轉自 頂風走千裡 51CTO部落格,原文連結:http://blog.51cto.com/13505030/2055440