现在当我尝试通过IntelliJ解决合并冲突时,我发现这些颜色 - 绿色,蓝色,灰色和红色,如下图所示:
如果我们通过终端进行git合并,似乎用Git合并自动处理标有绿色,蓝色和灰色的区域。只有Git需要我们意见的地方才是标有红色的区域。
那么为什么IntelliJ合并工具会使我们选择的选择变得复杂? 它应该只显示红色,不应该询问绿色,蓝色和灰色?
这是否意味着我们不能依靠Git算法来解决灰色,绿色和蓝色区域?在我与Git的整个经历到现在为止,我看到人们盲目地信任Git合并,只是试图解决它所显示的冲突部分 - 那是红色区域?
答案 0 :(得分:4)
IntelliJ IDEA的合并工具在工具栏中有“应用非冲突的更改”按钮,该按钮将自动合并到所有非红色的帅哥中。这基本上相当于只查看Git命令行合并结果中的冲突。
IntelliJ IDEA在打开对话框时不会自动执行此操作的原因并不是因为Git的算法不可信,而是因为显示所有已更改的数据库使得更容易理解导致冲突的更改的上下文,以及更好地了解如何解决冲突。
IntelliJ IDEA确实可以对合并结果执行任意编辑 - 中间窗格是完全可编辑的。
答案 1 :(得分:0)
Rubymine/Intellij 似乎并不关心 git diff3 配置。
git config --global merge.conflictstyle diff3
是的,自动冲突解决按钮很简洁,但是当我想要精确和简单时,我只需打开一个文本编辑器。 IDE 在合并时非常混乱,因为它显示的冲突比实际的要多。