我们假设我在master
中有一个包含此内容的文件:
Line 1
Line 2
Line 3
Line 4
现在说我创建并签出一个名为test
的新分支。在这个分支中,我将文件更改为:
Line 1
Line 2
Line 3 Modified
Line 4
我提交了这个并切换回master
。在master中我将文件更改为:
Line 1
Line 2
Line 3
Line 4 Modified
我承诺。现在,如果我将分支test
合并到master
,我就会发生冲突。
为什么不能使用共同的祖先来自动解决这个问题?如果我告诉git使用BeyondCompare编辑冲突作为difftool,BeyondCompare甚至不会告诉用户自动解决这个问题,因为这不是一个真正的冲突。有没有办法让git自动解决这些问题?我已经尝试了recursive
和resolve
合并策略,但都没有。
这是我们公司的一个问题,因为有些文件中有多个开发人员在近距离内更换线路,这会导致许多不必要的冲突。
答案 0 :(得分:0)
我偶然发现同样的问题,来自SVN,我发现这也很奇怪。
我对原因没有答案,但也许这会有所帮助:
我使用另一个合并工具(取决于您正在使用的操作系统),我使用meld diff来解决合并冲突(我在linux / ubuntu上工作)。
你也可以设置git来使用这个外部合并应用程序......
和google for'使用meld作为git'
答案 1 :(得分:0)
您可以在回购中的.gitattributes
文件中指定不会发生冲突的自定义合并驱动程序。