(我使用 SourceTree 作为我的 Git 工具,使用 Beyond Compare 来解决 merge 冲突,并使用 Eclipse 作为我的 Java IDE。)
冲突非常复杂,我无法在 merge 工具中解决它,必须手动解决它(跨多个文件)。
理想情况下,我只想使用我的代码版本,查看 Beyond Compare 中的冲突,并使用它来建议我在 Eclipse 中进行更改。
不起作用的事情:
- 如果我只是在 Eclipse 中打开冲突版本,那么代码 无法编译,所以我失去了静态类型的所有用处 检查等
- 如果我只是在 Git (SourceTree) 中“使用我们的/我的解决”,这样我 可以在 Eclipse 中打开它,然后我就失去了所有漂亮的三向 merge 我可以用来解决冲突的信息。
- 对文件的 HEAD 版本与 master 进行简单的比较 版本也不能解决我的问题 - 差异太少 信息。我想要三向信息。
我处理这个问题的方式是错误的吗?我应该使用不同的策略来解决冲突吗?我可以使用 Git 或 BC4 的某个功能在编辑文件的特定版本时单独保留冲突信息吗?
最佳答案
我发现可行的东西(受到 Stun Brick 的建议的启发):
开始 merge ,以便生成 LOCAL、BASE 和 REMOTE 文件。
将这些文件移至单独的目录中。
通过获取本地副本来解决 merge 问题(在 SourceTree 中:解决冲突 -> 使用我的解决方案。在 Git 中:git checkout --ours PATH/FILE
)。
在 Eclipse 中打开文件的本地版本。
在 BC4 中打开 LOCAL、BASE 和 REMOTE 文件。
现在我可以在 Eclipse 中随心所欲地进行编辑,而不会影响 BC4 显示的内容。
关于git - 解决 IDE 中的 merge 冲突,同时保留 3 向 merge 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51377877/