git基礎(7)--打標籤

Git 可以給歷史中的某一個提交打上標籤,以示重要。

人們會使用這個功能來標記發佈結點(v1.0 等等)。

1、列出標籤

1)在 Git 中列出已有的標籤是非常簡單直觀的。

git tag

這個命令以字母順序列出標籤;但是它們出現的順序並不重要

2)可以使用特定的模式查找

git tag -l 'v1.1*'

2、創建標籤

Git 使用兩種主要類型的標籤:輕量標籤(lightweight)與附註標籤(annotated)。

1)輕量標籤:很像一個不會改變的分支 - 它只是一個特定提交的引用。

2)附註標籤:存儲在 Git 數據庫中的一個完整對象。 它們是可以被校驗的;其中包含打標籤者的名字、電子郵件地址、日期時間;還有一個標籤信息;並且可以使用 GNU Privacy Guard (GPG)簽名與驗證。 

 

3、附註標籤

在 Git 中創建一個附註標籤是很簡單的。 最簡單的方式是當你在運行 tag 命令時指定 -a 選項:

git tag -a v1.4

通過使用 git show 命令可以看到標籤信息與對應的提交信息:

git show v1.4

輸出顯示了打標籤者的信息、打標籤的日期時間、附註信息,然後顯示具體的提交信息。

 

4、輕量標籤

 輕量標籤本質上是將提交校驗和存儲到一個文件中 - 沒有保存任何其他信息。 創建輕量標籤,不需要使用 -a、-s 或 -m 選項,只需要提供標籤名字:

git tag bug-110

如果在標籤上運行 git show,你不會看到額外的標籤信息。 命令只會顯示出提交信息:

git show bug-110

5、後期打標籤

你也可以對過去的提交打標籤。

git log --pretty=oneline

顯示提交的歷史信息

 

要在那個提交上打標籤,你需要在命令的末尾指定提交的校驗和(或部分校驗和)

git tag -a v1.3 46e4466d4f9b96bf4eebf50de86c40259c8da34f

 

6、共享標籤

默認情況下,git push 命令並不會傳送標籤到遠程倉庫服務器上。

在創建完標籤後你必須顯式地推送標籤到共享服務器上。 

git push origin [tagname] 
//如:
git push origin v1.5

一次性推送很多標籤,也可以使用帶有 --tags 選項的 git push 命令。這將會把所有不在遠程倉庫服務器上的標籤全部傳送到那裏

git push origin --tags

當其他人從倉庫中克隆或拉取,他們也能得到你的那些標籤

 

7、刪除標籤

1)刪除掉你本地倉庫上的標籤,可以使用命令 git tag -d <tagname>

git tag -d bug-110 //可以使用下面的命令刪除掉一個輕量級標籤

2)上述命令並不會從任何遠程倉庫中移除這個標籤,你必須使用 git push <remote> :refs/tags/<tagname> 來更新你的遠程倉庫:

git push origin :refs/tags/bug-110

 

8、檢出標籤

查看某個標籤所指向的文件版本,可以使用 git checkout 命令,這會使你的倉庫處於“分離頭指針(detacthed HEAD)”狀態——這個狀態有些不好的副作用:

git checkout 2.0.0

在“分離頭指針”狀態下,如果你做了某些更改然後提交它們,標籤不會發生變化,但你的新提交將不屬於任何分支,並且將無法訪問,除非確切的提交哈希。

如果你需要進行更改——比如說你正在修復舊版本的錯誤——這通常需要創建一個新分支

git checkout -b version2 v2.0.0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章