我試圖找出造成這種情況的正確的工作流程:更正共享功能分支的Git工作流程?
在共享回購,我們對這些分支:
-master
-feature
的功能分支是共享分支,因爲許多開發人員正在共同研究一項新功能。他們正在積極推動他們對功能分支的改變。
我試圖避免「衝突地獄」的那一天功能終於被合併到主。目前,我看到一些選項:
1)積極合併主到功能,並且經常這樣做。但是,這不是建議在git文檔中,我開始明白爲什麼。當我嘗試這個時,我似乎一次又一次地解決了同樣的衝突。
2)以某種方式使用rebase。我已經讀過這個,但它看起來像不會工作,因爲功能分支實際上是共享的。所需要的只是一個開發人員進行2次rebase,而其他開發人員可能會因不匹配的歷史記錄而產生衝突。
3)打開功能分支到集成分支,並有開發者使用自己獨立的特性分支與墊底讓事情變得理智。
4)完全不同的東西?
我認爲開發通常應該發生在每個開發者分支上,並且共享分支通常應該僅用於集成是一個很好的經驗法則。 – 2010-09-29 07:22:15
我不太熟悉rebasing,所以我會問這個問題:在這種情況下,用戶是否會將他們的私人分支合併到功能中一次(並且如果他們需要做更多工作,則創建一個新的專用分支),還是安全的讓他們多次合併以及他們正在進行的重組? – Ben 2010-09-29 16:46:00
@讓本地重新定義的想法正是爲了允許多重合並:因爲你永遠不會發布你的'私人'分支,你可以在將你的工作合併到'features'並推送它之前重新定義它。也就是說,如果給定的開發工作在一個給定的「私人」分支上完成,最好做一個新的開發,而不是試圖重用現有的開發。當地的歷史會更清晰。 – VonC 2010-09-29 17:11:24