GIT合并错误“由于您有未合并的文件,因此无法提交”

时间:2012-10-18 18:54:22

标签: git git-merge

所以我在编辑它之前忘了拉我的代码然后当我提交新代码并尝试推送时,我得到了错误推送是不可能的,那时我做了一个“git pull”,它做了一些文件冲突突出。我删除了冲突,但我不知道该怎么做..

我再次尝试git commit但它说“因为你有未合并的文件而无法提交”

7 个答案:

答案 0 :(得分:174)

如果您已修复冲突,则需要使用git add [filename]将文件添加到舞台,然后正常提交。

答案 1 :(得分:35)

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

添加更改
git add .
git stash  

git checkout <some branch>

它应该解决你解决的问题。

答案 2 :(得分:11)

您可以在执行要进行的提交之前使用git stash保存当前存储库(在将上游存储库中的更改与git stash pop合并之后)。昨天我遇到同样的问题时,我不得不这样做。

答案 3 :(得分:1)

解决冲突后会发生此错误,但仍需要在舞台区域中添加文件。 git添加会解决的。然后,尝试提交并合并。

答案 4 :(得分:1)

从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

答案 5 :(得分:0)

我遇到了类似的问题,归结为删除“未合并路径”下的文件

这些文件必须使用git rm

删除

答案 6 :(得分:0)

所以从上面的错误。解决此问题所需要做的就是还原代码。 (git revert HEAD,然后再git pull,然后重做更改,然后再次git pull,并且能够正确地提交或合并。