由于文件已被删除,git合并不可能。

4

我遇到了一个比较大的合并冲突,已经解决了。但是我无法提交以解决这个冲突。

当我想使用git commit -m "Resolved conflicts"进行提交时,会出现如下错误:

错误:由于您有未合并的文件,因此无法进行合并。

当我查看git status时,可以看到在我的分支和合并的分支中都删除了一个文件,而Git也识别到了这个问题:

enter image description here

你可以看到它标注为both deleted

我不能像建议的那样添加或删除这些文件,因为我会得到文件缺少的错误提示。这是正确的,因为该文件已被删除,不再存在于文件系统中。

有什么想法吗?


这是该问题在Stack Overflow上的链接:https://dev59.com/CWcs5IYBdhLWcg3wTyNl。希望对你有所帮助。 - ArunPratap
@ArunPratap 谢谢,但我已经解决了。请看下面 :) - Ron
1个回答

6

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

你需要使用 -u 标志将每个已删除的文件 添加 回来!

git add -u <file>

以下是有关此标志的文档摘录:

-u --update

仅在索引中已经存在一个匹配项的位置更新。这将删除以及修改索引条目以匹配工作树,但不添加新文件。

如果在使用 -u 选项时未提供 ,则会更新整个工作树中的所有跟踪文件(旧版本的Git只更新当前目录及其子目录)。


3
即使文件不存在,不带 -ugit add <path> 命令也能工作。git rm <path> 命令会提示工作树中该文件不存在,但它仍能正常工作。无论如何,如果你想在此时使用 -u 命令来完成所有操作,你可以只输入 git add -u,而不需要指定路径,这样就可以更新所有剩余的被删除文件了。 - torek
更新所有文件花费了我很长时间。你可以省略路径,这是一个很好的建议! - Ron

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