我們有一個爲每個客戶定製的基礎系統。基地生活在自己的倉庫中,每個客戶都住在自己的倉庫中(最初是從基地克隆的)。Git pull與rebase導致過度衝突。我如何解決我們的工作流程?
目標是有能力添加錯誤修復/功能到基地,可以根據需要傳播給客戶。
到目前爲止,工作流程一直如下:
- 製作犯/主題分支機構爲基本修復/特點:(上壘,主站)
git commit -m "Fix admin typo"
- 合併這些變化到客戶端: (在客戶端,主人)
git merge base/master
。顯然,這包括解決基本和客戶定製之間的任何衝突。 - 推送合併到客戶的起源:(在客戶端,主)
git push origin master
- 我們的約定一直在拉動底座(以保持歷史可讀性)。這樣的話,不同的開發商在客戶項目的工作會(客戶端,主站)
git pull --rebase origin master
正是在這一點上,我們得出與拉/變基顯著的問題。開發人員在從基礎合併到客戶端後進行的pull/rebase中發生衝突。它不僅僅是一些衝突,它還有很多(對於許多正在重播的提交?),並且通常是特定開發人員甚至從未觸及過的代碼。我認爲這是不合理和不可持續的。
這裏最好的解決方案是什麼?
我唯一的想法是在拉動和處理馬虎和難以閱讀的日誌時停止使用rebase,但我寧願不必這樣做。這些客戶項目可以生存多年,而且我希望在將來能夠從基礎系統合併中解脫出來。
你推到'origin/master',然後立即從那裏拉?難道這不應該做什麼? – svick 2010-08-20 17:34:21
@svick - 在這個例子中,一個開發人員推動合併,另一個開發人員 – Ben 2010-08-20 17:46:19