Eclipse EGit Checkout与文件冲突: - EGit不想继续

问题描述 投票:41回答:8

我已经开始Eclipse EGit了。在某些情况下,它真的不全面。

我有本地文件,例如pom.xml改了。在git服务器上,此文件已更改。我做pull,EGIt说:

结帐与文件冲突:

即停止停止(fetch完成,但不是merge),这没关系。然而接下来是不好的经历。

我同步工作区,将我的更改放在一边,使其与FETCH_HEAD相同。但是EGit不想继续。我用HEAD修订版替换文件。但是EGit仍然不想继续。

在冲突解决后,EGit应该使用什么标准的用户操作?

更新:

added to index,然后marked as Merged - > pull仍然无法通过。 当我选择Merge时,我得到了对话框

我无法提交该文件,因为它不在更改的文件列表中。

eclipse git merge conflict egit
8个回答
51
投票

情况:

  • 您有本地未提交的更改
  • 你从主回购拉出来
  • 您收到错误“Checkout与文件冲突:xy”

解:

  • 暂存并提交(至少)文件xy
  • 再次拉
  • 如果可以自动充电,一切都还可以。
  • 如果没有,拉合并文件并插入合并冲突标记(<<<<<<,>>>>) 手动编辑冲突的文件
  • 承诺并推动

27
投票

这是我解决问题的方法:

  1. 右键单击本地具有未提交更改的文件夹
  2. 单击团队>高级>假设未更改
  3. 来自大师的Pull

更新:

正如Hugo Zuleta正确地指出的那样,在应用它时你应该小心。他说最终可能会说分支是最新的,但是没有显示更改,导致分支的异步。


20
投票
  1. 关闭冲突错误对话框后;从Project Explorer中,右键单击项目负责人 - > Team - > Stashes - > Stash Changes
  2. 输入藏匿名称。例如。 “冲突”
  3. 再试一次拉。希望这次没有错误。
  4. 从Git Repository视图中,展开您的存储库 - > Stashed Commits
  5. 右键单击您在步骤2中创建的存储 - >应用Stashed Changes
  6. 如果合并工具无法自动合并,则会调出合并工具。
  7. 手动解决文件中的合并冲突。
  8. 右键单击文件编辑器 - >团队 - >添加到索引
  9. 如果您尚未准备好提交文件或只是不想在索引中,请右键单击文件编辑器 - >团队 - >从索引中删除。
  10. 清理:从Git Repository视图,右键单击您在步骤2中创建的存储 - >删除Stashed Commit

应合并您的本地工作目录文件


1
投票

如果“.settings / language.settings.xml”或任何此类文件出现错误,则无需git。

  1. 团队 - >提交 - >分阶段文件列表,检查是否存在不需要的文件, - >右键单击每个 - >从索引中删除。
  2. 从UnStaged文件列表中,检查是否存在不需要的文件, - >右键单击每个 - >忽略。

现在如果Staged文件列表为空,则Unstaged文件列表中的所有文件都标记为Ignored。你可以拉。否则,请按照其他答案。


0
投票

我想最好的方法就是这样:

  1. 将所有更改存储在单独的分支中。
  2. 然后在本地主服务器上进行硬重置。
  3. 然后从本地创建的分支合并您的更改
  4. 然后提交并推送您的更改。

这就是我如何解决我的问题。


0
投票

从Eclipse获得丑陋的CheckoutConflictException后,Eclipse-Merge Tool按钮被禁用。

Git需要将您的文件添加到索引以启用合并。

因此,要合并您的更改并提交它们,您需要首先将文件添加到索引“添加到索引”和“提交”它们而不“推送”。然后你应该在Eclipse中看到一个挂起的pull和一个挂起的推送请求。你会看到一个向上箭头和一个向下箭头。

如果所有冲突文件都在提交中,则可以再次“拉”。然后你会看到类似的东西:

\ <<<< << HEAD服务器版本\ =======本地版本>>>>>> .... git的分支'master'

然后你可以通过Merge-Tool更改它,现在启用它或者直接在文件中直接进行合并。在最后一步中,您必须将修改后的文件再次添加到索引并“提交并推送”它们。

检查完毕!


0
投票

正确的解决方案是@ Jojo.Lechelt提供的解决方案。

但是,如果您不想因任何原因提交并仍想提取更改,则可以将更改保存在其他位置,使用HEAD修订版替换冲突文件,然后拉取。

稍后,您可以再次粘贴更改并将其与HEAD进行比较,并将其他人员更改合并到您的文件中。


0
投票

右键单击项目并选择[替换为] - >头部修订。现在选择当前分支中的拉动更改或从上游拉动更改。

© www.soinside.com 2019 - 2024. All rights reserved.