2015-11-07 30 views
0

在發現git流之前,我已經開發了一個超過幾個版本的項目。是否有可能(或者建議)做一個回顧性的git流發佈?

爲了與未來發展的一致性,我想將過去的提交標記爲1.0,1.1等版本。

我的Git-fu不是最棒的,所以我會用Source Tree來幫助我。我看到你可以在選擇「新版本」時選擇過去的提交,但是會按照我的意願去做嗎?

我也可能誤解根本上誤解釋放的內容;從Git流程的角度來看,我理解它是從開發創建的分支,然後標記,然後合併回開發和主。

所以說我到這裏就要3.0版本,但我想釋放1.0,1.1,和2.0回顧:

tags    1.0 1.1 2.0 3.0 
master __*__*__*____.__.__.__.__.__.__. no commits for a long time 
release   / / / / 
develop __*__*__*__/\_*__/\_*__/\_*__/ commits all the way along 
commits a b c  x  y  z  

能I /我應該怎麼辦呢?

回答

0

兩個問題:

我能做到這一點?

如果您的主人已經包含您想要包含在版本1.0,1.1和2.0中的提交,當您嘗試從發佈分支創建合併時,您會得到Already up-to-date作爲git的響應。

我應該這樣做嗎?

如果你想要做的就是確保你的標籤標明你的版本,只需在提交處創建一個新標記,即已從標記的發佈分支合併。

[email protected] ~/git-test master 
$ git log --oneline 
afcc012 Submodule commit. 
45926a2 Second. 
a5c809b Initial. 

[email protected] ~/git-test master 
$ git tag 1.1 45926a2 

[email protected] ~/git-test master 
$ git tag 
1.1 

然後啓動git從這裏開始!順便說一句,如果你在沒有某種分支的發佈管理的情況下相處得很好,那麼git流對你來說可能有點矯枉過正。當與小團隊合作或獨自工作時,我發現GitHub flow更合適一些。

+0

啊,不錯。我做了一個測試,並確保在Github的發佈部分彈出了我的標籤。因此,標籤只是提交提交,然後通過創建發佈分支,您只是在準備進行最終標記提交時單獨提交,然後合併回開發者和主設備?現在完美。感謝您幫助我實際上和概念上! –

+0

完全正確。發佈分支在那裏,以確保一切都很好,乾淨。不要忘記在重新合併之前將master融合到您的發行版分支中 - 您從不知道自發行版叉以來已將什麼修補程序放在master上。 –

+0

而且,如果你想成爲git-technical,_branches_也只是指向提交的指針。他們有很多能夠移動的標籤。 –

相關問題