【问题标题】:EGit "synchronize workspace" won't mark merge conflict as resolvedEGit“同步工作区”不会将合并冲突标记为已解决
【发布时间】:2016-08-16 10:55:28
【问题描述】:

到目前为止,我只是简单地使用 fetch+merge 方法进行合并,如果存在合并冲突,我会手动修复它,暂存它并提交。解决得很好。

现在我决定尝试“同步工作区”这个东西。我签出我的本地分支并在远程原始分支上运行该命令。如何将单个文件拉入我的存储库?

我尝试使用合并或拉取,但没有整合更改,它突然告诉我存在合并冲突。这种冲突一开始不应该发生,但是再次索引和提交并不能修复错误。我与工作区同步,它一直在两个相同的文件上显示双面红色错误...

【问题讨论】:

    标签: eclipse git merge egit


    【解决方案1】:

    根据我的经验,Synchronize Workspace 让大多数人感到困惑。

    一般来说,它应该是“只读”的。不要试图在这里解决任何冲突。默认情况下,您将工作副本与远程存储库进行比较。这意味着您的工作副本实际上没有冲突。当您在这里“修复”它们时,您只是在进行本地修改。您可以提交,但它不能解决任何冲突。这使得实际冲突更难解决。

    我建议不要在Team Synchronization 角度做任何事情。只需执行pull(或fetch/merge)在您的工作副本中包含这些冲突,然后解决它们。你知道该怎么做。如果出现问题并且您想要重新尝试,请在本地存储库中的最后一次提交上执行 reset --hard 并重新开始。

    【讨论】:

    • 我同意你的观点,这让我很困惑,并没有解决任何问题。
    【解决方案2】:

    尝试使用 fetch + rebase:您将不得不再次解决冲突,但一旦完成,您修改后的提交应该在 origin/master 之上:下一次 fetch 应该什么都不做,因为所有内容都已获取。

    this tutorial:

    【讨论】:

    • 这有什么帮助?这将整合来自原点的所有更改
    • @taclight no:它会在 origin/master 之上重放你的本地提交。
    • @taclight“它一直在两个相同的文件上显示双面红色错误...”顺便说一句,这些相同的文件的名称不同吗? (如小写/大写的区别)
    • 这意味着在 master 上的每一个提交之上?这怎么选择性?不,文件名是相同的。正如我所说,没有同步视角的正常合并/变基运行良好。
    • @taclight 不,这意味着您在 master 上所做的本地提交将在 origin/master(而不是 master)之上重播。目标是在本地解决冲突,之后 Synchronize 视图不应显示任何冲突:wiki.eclipse.org/EGit/User_Guide#Synchronize_View
    猜你喜欢
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 2012-03-01
    • 2017-05-10
    • 1970-01-01
    相关资源
    最近更新 更多