我對Git非常陌生,但對它提供的輕量級分支/合併印象非常深刻。Git合併修補程序分支到功能分支,然後刪除修補程序分支?
我有三個分支在我的倉庫:
master
1.1.0
1.0.x
我已在1.0.x
分公司速戰速決,但我不知道我是否應該立即合併這些更改回1.1.0
?或者是否建議等到1.1.0
分支準備好作爲次要版本發佈以合併修補程序?
而且也,此圖像中:
我假裝iss53 = 1.0.x
和master = 1.1.0
的這個例子。一旦我的1.0.x
修補程序分支中的更改合併回1.1.0
功能分支,我可以繼續在1.0.x
分支上工作嗎?
如果我犯了變化,而工作的1.0.x
分公司,上述合併後,將它只是從一個假設C7
創建一個新的水平鏈路(以圖片在視覺)承諾,與單親C5
,還是會有兩個父母,C5
和C6
?
git-book(Git - Basic Branching and Merging)的這一部分也提到在完成分支後刪除分支,但不幸的是並沒有顯示圖表之後的樣子。當然提交仍然存在 - 標籤是否被刪除? (在上面的例子中爲iss53
)。一旦該分支被移除,如果您發現問題53未完全修復,可以繼續從C5
工作,創建另一個iss53
分支,或者您是否必須給它一個不同的分支名稱,如iss53_2
?
謝謝! 「如果您有任何不再可從任何標籤訪問的提交,那麼它們最終可能會被垃圾收集刪除......」您可以擴展它嗎?我何時可以有一個無法訪問的分支?在我發現有兩個父母的合併提交(如C6)之後,我是否仍然能夠跟蹤父母的方式? – 2013-03-06 17:27:40
@CraigOtis我認爲@jcoder意味着提交應該在某些時候被垃圾回收,而不會被其他提交或標籤引用。當你刪除一個分支時,該分支不見了,它的reflog也不見了。在你的圖中,刪除'iss53'但所有提交都是安全的;但刪除主人,C4和C6是不安全的。 – 2013-03-07 06:04:24