在所有合并冲突都得到解决后,我该如何消除Eclipse Git中的“冲突”图标?

5
在Eclipse上,我看到了Git冲突的图标,很多文件都有此图标,尽管我似乎已经解决了所有可能的冲突。在Eclipse 4.5.2中,在项目视图中,我选择项目根目录,右键单击->比较分支origin/master, 然后我们会看到Team Synchronization视图。许多文件显示红色的冲突图标,conflict icon但它们不应该有这个图标。
Git暂存视图,它可以显示冲突,但是它是空的。我已经尝试合并;提交合并(没有剩余需要提交的内容)。我尝试从Git暂存视图中添加索引;甚至从Team Synchronization视图中覆盖。比较本地和远程文件,它们是相同的。Git设置autocrlf是true,所以这不是问题。
这种情况反复出现。为什么我会看到这个冲突图标?如何摆脱它呢?Staging
3个回答

3
你是执行了 pull 操作吗?还是仅在 Team Synchronization 中比较?根据我的经验,Team Synchronization 很容易让人感到困惑。
通常情况下,它应该被用作“只读”。不要试图在此处解决任何冲突。默认情况下,您正在将您的工作副本与远程存储库进行比较。这意味着您的工作副本实际上没有冲突。当您在此处“修复”它们时,您只是进行了本地修改。您可以提交它,但这并不能解决任何冲突。它使实际冲突更难以解决。
因此,请不要在 Team Synchronization 视角中执行任何操作。只需执行 pull 操作,将冲突带入您的工作副本,然后解决它们。合并冲突通过将其移动到 Staged Changes 来标记为已合并。
如果出现问题并且您需要重新尝试,请在本地存储库中的最后一次提交上执行 reset --hard

你说得对,当我执行“标记为已合并”后,然后提交,团队同步仍然显示冲突图标,但Git暂存区没有。因此,在这一点上,似乎冲突已经解决了,但冲突图标是错误的。 - Joshua Fox
1
不,这是正确的。你的本地工作副本(现在已经进行了本地更改和提交)与远程仓库之间仍然存在冲突。你需要执行pull操作,将此冲突合并到你的本地仓库和工作副本中。在Git Staging视图中,你可以看到它,并进行修复。 - Kai
1
"你需要进行一次拉取操作。" 谢谢。当然,在提交之前是无法进行拉取操作的。在从 Git Staging 视图中添加合并代码到索引后,我从 Resource 视图中获取了代码,并进行了提交。然后,我从 Resource 视图中与远程分支进行了比较。现在,那些冲突标志已经不再存在了。 - Joshua Fox

1
在适当编辑冲突资源之后,右键单击冲突资源并点击“标记为已合并”。 请参见解决合并冲突。此外,请查看屏幕录像

1
谢谢您,但是我已经尝试了“标记为已合并”的功能,但它并没有消除该图标。 - Joshua Fox
1
我执行了“标记为已合并”,然后提交。现在,团队同步(比较)仍然显示冲突图标,但Git暂存区没有。 - Joshua Fox
清除这些冲突图标。再次运行同步,新的结果将清除这些旧图标。 - Chandrayya G K
在 Eclipse IDE for PHP Developers Version: 2020-03 (4.15.0) 中,在解决冲突后,右键单击冲突文件并选择“添加到索引”(如视频所示)。您还可以从索引中删除,这样冲突图标就不会再出现了。 - Lord_Dracon

0
很可能你有一些未合并的文件。我也遇到了类似的问题。我通过在命令行上运行git status来查看我的未合并路径。然后我运行了git restore --staged MYFILE NAME,在eclipse图标清除后。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接