2015-01-13 114 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