如何从Eclipse中的坏git merge中恢复

时间:2016-03-24 14:22:49

标签: eclipse git egit

适用于Web开发人员的Eclipse Jave EE IDE Luna Service Release 2(4.4.2) Eclipse EGit 3.4.2.201412180340-r

所以我在Eclipse中的两个Git分支之间进行合并,这是我几十次没有发生的事情。

这一次,由于某种原因,发现了冲突。我不知道为什么。但是我在Eclipse中所做的一切都让我摆脱它们。我使用过“合并工具”。它让我手动将所有更改移动到我想要的方式。保存文件,冲突没有消失。不会让我加入索引。不会让我承诺。尝试了Team Synchronizing透视图,其“Mark as Merged”功能。这没有任何效果,虽然我很喜欢它从“糟糕的老svn日”。

存在许多过时的网页,它们告诉我>>>>>和<<<<<分数。这些都不在我的档案中。

我如何找到底线?如果没有从Eclipse中删除项目并将其从Atlassian存储中重新克隆,那么它是如何远离这个catch-22的?

更新:回答了我自己的问题。见下文。

是的,这绝对是eclipse git工具中的一个错误。

在这之后,我来到了Eclipse EGIT - all committed, pulled, merged, marked as merged, still on push I get "rejected - non-fast forward", what am I missing?并尝试了the solution referenced there。这部分有效。我直接编辑了冲突文件,找到了>>>>>和<<<<<分数。我能够编辑并保存文件,当我将它添加到索引时,标记就消失了。

但仍有问题。我的文件包含标记为冲突的更改和未标记为冲突的更改。当我直接编辑文件时,文件中存在冲突的更改。 无问题的更改没有进入文件。要获得那些我必须手动比较工作区与分支并将其移动。

啧。

所以这就是我们所拥有的。

  1. “合并工具”比解决冲突更糟糕。它删除了>>>>>使手动编辑困难的标记。此外,使用合并工具后,“团队 - >添加到索引”不起作用。不要使用它!至少在修复发布之前。

  2. 如果将非冲突的更改添加到文件中,手动编辑将起作用。

  3. 除此之外,无论如何都不应该发生冲突。 “冲突”相当于空白行与新代码的一部分。如果差异者无法解决这个问题,那也是一个问题。

1 个答案:

答案 0 :(得分:1)

糟糕,从历史记录来看,有重置 - >硬重置。这让我回到合并前。发布这个问题我感到愚蠢,但是如果其他人遇到这个问题,我会把它留下来。