2014-11-03 143 views
1

我刚开始工作一个相当大的git合并,它显示约50个文件的冲突。当我使用git mergetool或简单地去解决Visual Studio中的冲突 - 几乎所有这些文件显示0与一些“自动更改”行冲突。我很确定我没有对这些文件做任何重大更改,如果两个文件中的相同行都没有改变 - 我可以在所有这些情况下接受这些合并。除了手动点击〜50个文件并点击“接受合并”之外,我找不到一种方法来完成它。我真的宁愿在所有可能的文件上执行批量AutoMerge。有没有办法用git,vs或其他方式做到这一点?我如何automerge非冲突的冲突

+0

Git * did *做一个automerge。你的线路结束了吗?你没有检查'.gitattributes'吗?不同的开发者有不同的'core.autocrlf'设置吗? – 2014-11-03 22:14:26

+0

Git对合并冲突非常保守。例如,如果双方添加或删除空行,Git有时会认为合并冲突,但mergetool不会,因此,当您在mergetool中加载文件时,它不会看到任何冲突。我不知道有办法解决这个问题。 – 2014-11-03 22:20:54

回答

0

如果您希望接受来自您合并的分支的更改,而不必解决冲突,因为您确信冲突仅发生在空行/空白/等等,因此您可以考虑使用“他们的”合并策略,选项:

git merge -s theirs branchtomerge 

检查http://git-scm.com/docs/git-merge,以确保这真的是你想要的。

+0

这实际上并不是我想要的,因为我可能会在自己的分支中对这些文件进行更改,但是如果更改位于同一文件的其他部分或仅位于行结尾 - 这是VS可以通过文件解析文件的内容基础。 – 2014-11-04 02:09:44