2015-10-21 64 views
1

請考慮以下存儲庫: 主分支A擁有單個源文件。 分支B分叉A. 在分支B上我刪除了一些代碼行。 我將A合併到B並解決任何衝突。如何配置GIT合併邏輯?

我想配置GIT自動合併分辨率爲我的項目合併一分爲B,這樣當:

  • 內的任何進一步的修改,以從B中刪除的行會被自動對後來合併丟棄,即記住B中的行被刪除。此時,每次刪除的行在A中被修改併合並時,都會發生合併衝突。
  • 理想情況下,如果在文件的相同位置添加了A和B中的新行,最後,合併將通過將它們放在另一個之下來自動解決。

我明白,合併代碼時,這種行爲往往是不受歡迎的,但我們正在處理XML配置格式,這些情況非常普遍。

是否可以配置GIT以適應該邏輯?

+0

你可以添加一個例子嗎?我有你的問題。 – Chris

+0

@Chris我在這裏設置了演示(請參閱提交日誌):https://github.com/mcallistera/mergetest.git ..基本上有一個文件,我從分支中刪除節點。然後我修改trunk和merge上的刪除行,這會導致衝突。然後我在每個文件中的相同位置添加了新行,這些行也會發生衝突......這種情況我覺得更棘手,而且管理的優先級較低。謝謝! – Andrew

回答

1

我自己並沒有使用這個命令,但是有這個git rerere命令應該記錄已經解決的衝突並在以後再次應用它們。我不確定這是否是解決您的問題的方法,但我建議您檢查一下。

如果rerere不起作用,我認爲你應該關注獲取/創建一個XML感知合併處理程序。合併XML文件是一個non-trivial task,但你可能有一些the options available運氣。