Git合并错误“无法提交,因为您有未合并的文件”;

我忘记在编辑代码之前git pull我的代码;当我提交新代码并尝试推送时,我得到了“推送不可能”的错误。

在这一点上,我做了一个git pull,使一些冲突突出显示文件。我消除了冲突,但我不知道接下来该做什么。

我尝试git commit再次,但它说“提交是不可能的,因为您有未合并的文件”:

error: Committing is not possible because you have unmerged files.
330632 次浏览

如果你已经修复了冲突,你需要用git add [filename]将文件添加到阶段,然后正常提交。

你可以使用git stash来保存当前存储库,然后再进行你想要的提交(在将上游repo中的更改与git stash pop合并之后)。我昨天也遇到了同样的问题。

你需要做两件事。 首先使用

添加更改
git add .
git stash


git checkout <some branch>

它会解决你的问题,就像解决我的问题一样。

我也遇到过类似的问题,归结起来就是删除“未合并路径”下的文件

这些文件必须使用git rm删除

此错误发生在您解决冲突时,但仍然需要在舞台区域中添加文件。Git添加。就能解决问题。然后,尝试提交和合并。

从上面的误差来看。要修复这个问题,您所要做的就是恢复您的代码。(git revert HEAD),然后是git pull,然后重新做更改,然后是git pull,并且能够提交或合并而没有错误。

自从git 2.23(2019年8月)以来,你现在有一个快捷方式来做到这一点:git restore --staged [filepath]。 使用这个命令,你可以忽略一个冲突的文件,而不需要添加和删除它

例子:

> git status


...
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified:   file.ex


> git restore --staged file.ex


> git status


...
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified:   file.ex