git - 解决 IDE 中的 merge 冲突,同时保留 3 向 merge 信息

标签 git merge-conflict-resolution git-merge-conflict beyondcompare4 three-way-merge

(我使用 SourceTree 作为我的 Git 工具,使用 Beyond Compare 来解决 merge 冲突,并使用 Eclipse 作为我的 Java IDE。)

冲突非常复杂,我无法在 merge 工具中解决它,必须手动解决它(跨多个文件)。

理想情况下,我只想使用我的代码版本,查看 Beyond Compare 中的冲突,并使用它来建议我在 Eclipse 中进行更改。

不起作用的事情:

  1. 如果我只是在 Eclipse 中打开冲突版本,那么代码 无法编译,所以我失去了静态类型的所有用处 检查等
  2. 如果我只是在 Git (SourceTree) 中“使用我们的/我的解决”,这样我 可以在 Eclipse 中打开它,然后我就失去了所有漂亮的三向 merge 我可以用来解决冲突的信息。
  3. 对文件的 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/

相关文章:

eclipse - 如何将 Eclipse 工作区与 git 本地存储库隔离?

visual-studio-2017 - Visual Studio 2017多个 "Keep Target Branch Version"

git - Git 能否在解决 merge 冲突时自动处理插入?

Github认为 merge 后分支不同

git - 如何解决 Git 存储库中的 merge 冲突?

node.js - npm 脚本忽略错误

git - Sublime Text 2 - git 插件

git - Git/IntelliJ 中的更改列表是什么以及如何摆脱它?

git - 为什么重新 merge 会导致git重复 merge 冲突?

git - 在 GIT 中重做错误的 merge