Git说文件未合并,我无法提交,但文件似乎已合并
Posted
技术标签:
【中文标题】Git说文件未合并,我无法提交,但文件似乎已合并【英文标题】:Git says a file is unmerged and I can't commit, but the file seems to be merged 【发布时间】:2011-10-11 11:43:37 【问题描述】:我在合并分支时遇到了大约 12 个文件冲突。我手动修复了所有冲突并暂存了文件。但是现在当我尝试提交时,它说其中一个文件未合并。
U app/models/disclosure_event.rb
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
当我输入git status
时,它会在Changes to be committed
下显示所有更改的文件,包括“disclosure_event.rb”。它显示没有文件未暂存。我一再尝试添加文件,但似乎什么也没做。如果我打开文件,一切看起来都很棒。
有什么想法吗?我完全被卡住了。
【问题讨论】:
听起来像是又一个 Git 错误..... Git: can't undo local changes (error: path ... is unmerged)的可能重复 【参考方案1】:我不能告诉你出了什么问题,但你可以试试
git reset app/models/disclosure_even.rb
git add app/models/disclosure_even.rb
然后提交。
【讨论】:
我不得不使用“git reset -- lib/OaisAip.php”,但这让我继续前进! 我必须指定git reset HEAD app/models/disclosure_even.rb
。否则,我会得到git reset app/models/disclosure_even.rb => fatal: ambiguous argument 'app/models/disclosure_even.rb': unknown revision or path not in the working tree. Use '--' to separate paths from revisions
【参考方案2】:
我今天在分支合并(不是变基)时遇到了完全相同的情况。
我发现,在你的情况下,那个文件出错了:
U app/models/disclosure_event.rb
在 git 状态中不存在。但是在 gitk GUI 中可以被视为未合并。它在工作副本中也没有(在我的情况下移动到另一个地方)。
我试过git rm
,它解决了这个问题:
git rm app/models/disclosure_event.rb
【讨论】:
这里没有工作...git rm backend/server/main.js => backend/server/main.js: needs merge
【参考方案3】:
设置远程为origin
,分支为master
,并说你已经签出了master
,可以试试以下方法:
它将设置当前分支并将其指向远程分支的HEAD。
【讨论】:
【参考方案4】:我以前在使用 rebase 时遇到过这种情况。 Git 确定您在合并之前保留了一些文件,并认为您仍然没有合并它们。那个时候我用谷歌搜索并找到了很多建议来做git rebase --skip
。它对我有用。
此类案例的详细说明:http://git.661346.n2.nabble.com/BUG-git-rebase-is-confuse-if-conflict-resolution-doesn-t-produce-diff-td726597.html
类似问题:Git rebase: conflicts keep blocking progress
不过,如果你有合并,我不确定你的情况。
【讨论】:
【参考方案5】:我尝试了这 2 个建议,但没有任何运气。而且我无法将它重置回 HEAD,所以我只是重新克隆了存储库并完成了整个合并并且没有任何问题。对于它的价值,我现在强烈推荐 p4merge 而不是 vimdiff...
【讨论】:
我还推荐mcdiff
(来自mc
包)而不是可怕的vimdiff。以上是关于Git说文件未合并,我无法提交,但文件似乎已合并的主要内容,如果未能解决你的问题,请参考以下文章