2012-11-16 74 views
2

我用標籤「Release_V1.0.0.4」標記了我的倉庫。但這裏是我從「git describe」和「git describe origin」中得到的。Git描述給出不同的標籤

[根pds_series]#GIT中描述

Release_V1.0.0.2-22-g0859de9

[根pds_series]#GIT中描述原點

Release_V1.0.0 .2-18-gce2b24c

隨着「混帳形容 - 所有「和」混帳描述 - 標籤「我得到了正確的標籤。

[根pds_series]#GIT中描述--all

標籤/ Release_v1.0.0.4

[根pds_series]#GIT中描述--tags

Release_v1.0.0.4

此外,通過以下命令我正確的標籤。

[根pds_series]#GIT中登錄--pretty =格式: '%廣告%H%d' --abbrev提交--date =短-1

2012年11月15日0859de9 (HEAD,Release_v1.0.0.4,碩士)

難道有誰知道這背後的原因是什麼?我該如何解決這個問題?

回答

6

您可能使用了「輕量級」標籤。默認情況下,git describe只使用標記對象來描述提交,而使用--tags,它將使用refs/tags之下的任何引用,即使它們直接指向提交而不是標記對象。

要創建您必須使用-a(註釋)或-s-u一個標籤對象(簽字)選項git tag,否則一個輕量級的標籤(參考直指一個提交)將被創建。

要看到兩個變量之間的區別嘗試:

git cat-file -t Release_V1.0.0.2 

和:

git cat-file -t Release_v1.0.0.4 

上可能會說,「標籤」,另一個會說「提交」。

要解決此問題,您可以使用-f和(比如說)-a重新創建標記。

git tag -f -a Release_v1.0.0.4 Release_v1.0.0.4 
+0

我需要在這之後推? –

+1

@ParvinderSingh:是的。 –