由于已删除文件,无法进行 git merge

Ron*_*Ron 4 git git-merge git-merge-conflict

我解决了一个相当大的合并冲突。不过,我不能承诺解决冲突。

当我想提交时,git commit - m "Resolved conflicts"我收到这样的错误

错误:无法合并,因为您有未合并的文件。

当我查看 时git status,我可以看到在我的分支和合并的分支中,删除了一个文件 - 这是 git 识别的:

在此处输入图片说明

您可以在both deleted符号中看到这一点。

我不能 - 按照建议 - 添加或删除文件。我收到文件丢失的错误。这是正确的,因为该文件已被删除,因此不在文件系统上。

有任何想法吗?

罗恩

Ron*_*Ron 5

好的,终于有解决方案了!

您必须使用标志添加每个已删除的文件-u

git add -u <file>
Run Code Online (Sandbox Code Playgroud)

引用有关此标志的文档:

-u --更新

更新索引已经有匹配的条目。这将删除和修改索引条目以匹配工作树,但不添加新文件。

如果使用 -u 选项时没有给出,则更新整个工作树中的所有跟踪文件(旧版本的 Git 用于将更新限制为当前目录及其子目录)。

希望这可以帮助别人!

  • `git add &lt;path&gt;` *不带* `-u` 也可以工作,即使该文件不存在。即使它抱怨该文件不在工作树中,“git rm &lt;path&gt;”仍然可以工作。无论如何,如果您想使用“-u”来完成此时的所有操作,您可以在*不使用*路径的情况下使用它,就像“git add -u”一样,来更新所有剩余的已删除文件。 (3认同)