对于合并,我用它来"保持我的"
git merge -X ours foo
Run Code Online (Sandbox Code Playgroud)
这是为了"保留他们的"
git merge -X theirs foo
Run Code Online (Sandbox Code Playgroud)
但是在我最近的合并中,最好保持双方.为了避免手动编辑文件,Git是否有"策略"?
假设我有一个包含此内容的文件master:
Line 1
Line 2
Line 3
Line 4
Run Code Online (Sandbox Code Playgroud)
现在说我创建并签出一个名为的新分支test.在这个分支中,我将文件更改为:
Line 1
Line 2
Line 3 Modified
Line 4
Run Code Online (Sandbox Code Playgroud)
我提交了这个并切换回来master.在master中我将文件更改为:
Line 1
Line 2
Line 3
Line 4 Modified
Run Code Online (Sandbox Code Playgroud)
我承诺 现在,如果我合并分支test到master,我遇到冲突.
为什么不能使用共同的祖先git自动解决这个问题?如果我告诉git使用BeyondCompare作为difftool编辑冲突,BeyondCompare甚至不会告诉用户自动解决这个问题,因为这不是真正的冲突.有没有办法让git自动解决这些问题?我已经尝试过recursive并resolve合并策略,但都没有.
这是我们公司的一个问题,因为有些文件中有多个开发人员在近距离内更换线路,这会导致许多不必要的冲突.