2009-06-30 93 views

回答

499
git tag 

應該足夠了。見git tag man page


您還可以:

git tag -l <pattern> 

列出代碼與匹配給定模式的名稱(或全部,如果沒有模式給出)。
鍵入不帶參數的「git tag」,也會列出所有的標籤。


最近( 「How to sort git tags?」,爲的Git 2.0+)

git tag --sort=<type> 

排序在一個特定的順序。

支持類型是:

  • refname」(字典順序),
  • version:refname」 或 「v:refname」(標籤名視爲版本)。

預先加上「 - 」可以反向排序。


一個列出:

  • annotated tags:被存儲在Git數據庫完全對象。他們進行了校驗和;包含標記名稱,電子郵件和日期;有一個標記消息;並可以使用GNU Privacy Guard(GPG)進行簽名和驗證。
  • lightweight tags:簡單的指針到現有的承諾

注:輕量級標籤的git ready article on tagging不贊成。

沒有參數,git標籤會創建一個「輕量級」標籤,它基本上是一個永遠不會移動的分支。
儘管輕量級標籤仍然很有用,可能是爲了標記已知的好(或不好)的版本,或者將來可能需要使用一堆提交。
儘管如此,你可能不想推這些標籤

通常,您希望至少通過-a選項來創建未簽名標籤,或者通過-s或-u選項使用您的GPG密鑰對標籤進行簽名。


話雖這麼說,Charles Bailey指出,一個 'git tag -m "..."' 實際上意味着一個合適的(無符號註釋)標籤(選項 '-a'),而不是一個輕量級的一個。所以你對你的初始命令很好。


這不同於:

git show-ref --tags -d 

將列出標籤與他們提交(見 「Git Tag list, display commit sha1 hashes」)。
注意-d爲了解引用註釋的標籤對象(它們有自己的提交SHA1)並顯示實際的標籤提交。

同樣,git show --name-only <aTag>會列出標籤和相關的提交。

+5

這也許值得補充的是-m或-F意味着-a(如果非-a,-s或-u是明確提供的,你不能在沒有創建'適當'標籤對象的情況下產生標籤消息 – 2009-06-30 18:05:59

+1

@Charles:好點,我已經更新了我的答案 – VonC 2009-06-30 18:12:01

+0

也許`--name -only`也可以在這裏提到,http://stackoverflow.com/a/43870965/54964 – 2017-05-09 13:42:59

136

要列出標籤我喜歡:

git tag -n 

-n標誌顯示標記消息的第一行與標籤一起,還是先提交信息行,如果標籤沒有被標註。

您也可以通過git tag -n5來顯示註釋的前5行。

5

試着製作git tag它應該是足夠的,如果不嘗試製作git fetch然後git tag

32

而且git show-ref是相當有用的,這樣就可以直接與記者標籤關聯承諾

$ git tag 
osgeolive-6.5 
v8.0 
... 

$ git show-ref --tags 
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5 
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0 
... 
4

要查看最新的可用標籤我有時用細節:

git show `git describe` --pretty=fuller 
1

如果你想在本地檢查你的標籤名稱,你必須去你有crea的路徑特德標籤(本地路徑)。 意味着你已經把你的對象。 然後鍵入命令:

git show --name-only <tagname> 

它會顯示所有在該標籤名稱的對象。 我在Teradata的工作,對象是指圖,表等

0

這裏是你如何找到遠程標籤:

git ls-remote --tags origin