我忘记在编辑代码之前拉出我的代码;当我提交新代码并尝试推送时,我得到了错误“push is not possible”。

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

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

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


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


你可以在做你想做的提交之前使用git stash来保存当前的存储库(在合并来自上游repo和git stash pop的更改之后)。我昨天也遇到了同样的问题。


你需要做两件事。 首先添加更改

git add .
git stash  

git checkout <some branch>

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


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

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


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


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


自从git 2.23(2019年8月)以来,你现在有一个快捷方式来做到这一点:git restore——staging [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