使用Intellij/Git将主机合并到我的功能分支时出现问题

使用Intellij/Git将主机合并到我的功能分支时出现问题,git,intellij-idea,Git,Intellij Idea,我的程序: 在我的功能分支中,我提交并推送所有更改 使用Intellij,我选择origin/master->merge-into-current 冲突的文件呈现给我。我解决所有文件中的冲突 我得到以下错误: 无法检查工作树中是否有未合并的文件,因为 错误。无法提交,因为您有未合并的文件 我错过了什么 谢谢您的帮助。虽然您可能已经解决了合并后文件中的冲突,但Git实际上并不知道这一点。相反,它仍然可以看到冲突中的文件。要解决此问题,您需要添加每个冲突的文件,将其标记为已解决 如果右键单击Inte

我的程序:

  • 在我的功能分支中,我提交并推送所有更改
  • 使用Intellij,我选择origin/master->merge-into-current
  • 冲突的文件呈现给我。我解决所有文件中的冲突
  • 我得到以下错误:

    无法检查工作树中是否有未合并的文件,因为 错误。无法提交,因为您有未合并的文件

    我错过了什么


    谢谢您的帮助。

    虽然您可能已经解决了合并后文件中的冲突,但Git实际上并不知道这一点。相反,它仍然可以看到冲突中的文件。要解决此问题,您需要添加每个冲突的文件,将其标记为已解决

    如果右键单击IntelliJ中冲突的每个文件,则应该有一个用于添加到版本控制的菜单项。您也可以使用顶部的“项目”菜单执行此操作


    添加每个文件后,Git应报告所有冲突都已解决,您可以提交合并。

    对于my IntelliJ,如果我解决了其中的冲突,它会自动添加文件。对于您的情况,请转到控制台/终端运行
    git status
    检查所有文件是否为绿色,如果不是,请执行
    git add。

    谢谢您的回答。为什么Intellij不能自动处理这个问题?看起来很简单…@JoãoMatos IntelliJ与此没有多大关系,这是Git的行为方式。如果您从命令行进行合并并获得冲突,则必须手动解决它们(您已经解决了),并且必须
    git添加每个文件以将其标记为已解决。通常情况下,IntelliJ不希望自动执行此操作,因为在这种情况下,IntelliJ无法始终知道您想要做什么。请参阅上面的编辑。如果我改为“git merge master”,然后使用intellij选择“resolve conflicts”(第3步),则不会出现错误。我不需要使用git addI,我不知道“解决冲突”在做什么,但它必须是IntelliJ的git插件,试图变得聪明或明智。我向你们描述的是Git合并是如何在幕后发生的。一般来说,您应该准备解决冲突,并将这些文件标记为已解决。不幸的是,这对我不起作用。Git在按照您的指示添加了相同的文件之后,仍然在抱怨这些文件。