這種情況並沒有真正意義......
首先,如果有衝突,那麼衝突只存在於一個合併提交,這還不存在! (它仍然在用戶的機器上,可能在索引中,但當然不在其本地樹中)。
其他用戶根本沒有衝突,直到他們進行合併或重新綁定。
假設您確實有三位用戶進行完全相同的合併,無論出於何種原因,因此他們有相同的衝突。
讓我們進一步假設,他們,如你所建議的,每個人都有一個只有他們可以協調的衝突,那麼他們應該在最新版本的代碼中重新工作,並調和過程中的任何衝突。
換句話說,你的情況似乎說明如下:(糾正我,如果我錯了):
- 我們有三個開發者,查理,約翰和馬特,誰都是關閉主分支,這是在提交aaaaaaa。
- 他們都在一個'不穩定'的分支上工作,這個分支在提交bbbbbbbb時與'主'分離。
- 他們全部,在同一時間,決定他們應該單獨合併'不穩定'分支到'主'。
- 他們全部,在同一時間,意識到他們有承諾他們不能協調。
理想情況下,在這種情況下應該做什麼,應該由任何知道如何進行合併的開發人員合併「不穩定」。也許他們會選擇一次將幾個提交合並,而不是直接合並這兩個負責人,或者他們可能選擇重新整理所有內容 - 不管怎樣,但只有一個開發人員需要這樣做。
The more frequently this is done, the easier the merge/rebase operation will be.
其餘的開發人員將能夠使用合併提交。
嗯,這不是什麼想法....要更好地解釋。 我試圖合併2裸倉庫,而不是合併到實際數據存儲庫中的分支。由於沒有工作目錄,因此合併2個裸存儲庫是不可能的,所以我從1裸副本(A)創建了一個名爲merge_A的克隆,並從2裸副本(B)中提取更改,因此合併衝突發生在merge_A中。現在讓我們說foo.c有3條衝突線,3個開發者必須cd到merge_A並解決它。 – 2010-12-01 10:29:19