2015-01-13 150 views
1

我想混帳永遠不會有這個文件有衝突:
test/file.txt
合併時。 我嘗試了以下.gitattributes test/file.txt合併=他們的合併策略不工作

但我需要定義theirs合併策略。我在網上看到我可以通過執行以下操作來定義ours策略:
git config --global merge.theirs.driver true
它將驅動程序設置爲true(bash true),它將保留本地文件而不是新文件。
我想做相反的事情。我怎樣才能定義theirs驅動程序來獲得新的副本,並放棄合併時的本地之一(後git拉)?

回答

2

如何定義他們的驅動程序以獲取新副本並在合併時丟棄本地驅動程序(在git pull之後)?

正如我在 「How do I tell git to always select my local version for conflicted merges on a specific file?」 中提到,您需要調用類似的腳本:

git config merge.keepTheir.name "always keep their during merge" 
git config merge.keepTheir.driver "keepTheir.sh %O %A %B" 

隨着keepTheir.sh(把任何地方你PATH

cp -f $3 $2 
exit 0 

或者,作爲jthill建議直接在in the comments以下:

git config merge.keepTheir.driver "cp -f %B %A" 
+0

爲什麼不跳過外部腳本並將驅動程序定義爲「mv%B%A」'? – jthill

+0

@jthill當然,這就是我在6年前在http://stackoverflow.com/a/930495/6309(主要用於測試)時的實現方式。 – VonC