2014-01-30 60 views
12

我已經創建的Git標籤爲V1.1承諾,我是推後的變化我做了相關的一些變化V1.1。現在,當我推送新的更改並使用 git describe 檢查git標記時,它會顯示我v1.1-g2dcc97。添加新的使用</p> <pre><code>git tag -a v1.1 -m 'my version 1.1' </code></pre> <p>在現有的git的標籤

我想我的新提交應該進入現有的標記。

+0

不確定你的意思。標籤指向_exact_提交。如果您根據標記指向的提交做出進一步的更改,'git describe'將不會返回標記名稱。如果您想要標籤的確切名稱,則必須標記所提交的提交。 –

+0

'git describe'顯示你*當前*狀態(最新的標記+自那時起提交,(當前HEAD的散列的幾位數字)),即'v1.1-g2dcc97'說「標記'v1.1',散列對於該提交是'2dcc97 ...'' – vonbrand

+0

''git describe''顯示的不僅僅是標籤名稱。您的代碼尚未重命名。 ''git describe''只是顯示標籤指向的提交散列的縮寫。 – Wolf

回答

14

您不能在不違反重要Git指南的情況下將新提交放入現有標記中:從不(*)修改您發佈的提交。

Git中的標籤並不意味着可變。一旦你將標籤推到那裏,不要管它。

但是,您可以在v1.1之上添加一些更改併發布類似v1.1.1v1.2的內容。這樣做的一個辦法是

# Create a new branch from tag v1.1 
git checkout -b newbranch v1.1 

# Do some work and commit it 

# Create a new tag from your work 
git tag -a -m "Tag version 1.1.1, a bugfix release" v1.1.1 

(*),除非你有這樣一個真的超特殊原因,只有當你完全理解的含義,即便如此,不要做它的一個習慣。

+5

然後'git push origin --tags'(如果推到'origin'),將更改推送到遠程原點。 –

相關問題