2011-09-10 50 views
2
$ git tag hello 

$ git describe --tags 
hello 

... work work ... 
$ git commit -m "work stuff" 

$ git describe --tags 
hello-1-48281 

說什麼?什麼是額外的東西?看起來不像SHA1 ...有可能只是得到「你好」回來嗎?爲什麼我的本地git標籤從「hello」到「hello-1-48281」

+0

您目前的HEAD不是標籤「你好」。你爲什麼要git描述來騙你,並告訴你它是? –

回答

8

說什麼?什麼是額外的東西?看起來不像SHA1 ...有可能只是得到「你好」回來嗎?

「混帳形容」 可能不會做你認爲它的作用:

DESCRIPTION 
    The command finds the most recent tag that is reachable from a commit. 
    If the tag points to the commit, then only the tag is shown. Otherwise, 
    it suffixes the tag name with the number of additional commits on top 
    of the tagged object and the abbreviated object name of the most recent 
    commit. 

所以,在你的 「HELLO-1-48281」,Git是說例如, 「hello標記由當前對象的1次提交分隔,即48281。」

如果您想要一個標籤列表,請執行git tag -l

+0

這是非常有意義的,我認爲我沒有意識到一個承諾當然會讓我處於不同的狀態,因此我的睡眠不足。然而,我想把當前標籤放在我的bash提示符中,如果我偏離標籤,我不想在那裏有一個提前標籤標籤。如果你正在使用任何標籤,是否有git命令會返回? –

+0

應該有人,'git describe --tags --exact'就是我想要的。 –

1

看看git describe手冊頁,它在那裏描述。

第一個數字是(在你的例子中)當前提交和標籤之間的提交數量。

第二個應該是g加上當前提交的縮寫SH1。不知道如何得到這個號碼沒有g,我不能在這裏重現。

相關問題