合并策略.gitattributes不起作用

时间:2015-01-13 10:57:08

标签: git merge gitattributes

我希望git永远不会在这个文件上发生冲突:
test/file.txt
合并时 我在.gitattributes中尝试了以下内容 test / file.txt merge =他们的

但我需要定义theirs合并策略。我在网上看到我可以通过执行这个来定义ours策略:
git config --global merge.theirs.driver true
它将驱动程序设置为true(bash true),它将保留本地文件而不是新文件 我想做相反的事情。如何定义theirs驱动程序以获取新副本并在合并时丢弃本地副本(在git pull之后)?

1 个答案:

答案 0 :(得分: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"