我从origin
撤出来更新我的本地文件,而且有一个文件发生了相互矛盾的更改。我解决了冲突,但我不能(本地)提交,因为git仍然认为该文件存在冲突:
$ git add style.css
这有效 - 没有任何错误或任何错误。然后:
$ git commit
Merge branch 'dev' of [origin] into dev
Conflicts:
[path]/style.css
#
# It looks like you may be committing a MERGE.
# If this is not correct, please remove the file
# .git/MERGE_HEAD
# and try again.
#
为什么这不起作用?
答案 0 :(得分:2)
我将解释基本上发生在这里的事情:
你的pull启动了远程分支的合并(因为你没有使用'-r'标志进行rebase,这会做一个rebase)。合并本身有冲突并中止(这也意味着你的拉力没有完成)。现在解决冲突之后,您将不得不添加冲突的文件并执行“git commit”以实际完成拉动(以及为此所需的合并)。这将删除提交消息中提到的文件“.git / MERGE_HEAD”,该文件显示您当前正处于合并过程中。
在此之后,你处于一个干净的状态,一切都应该没问题。
答案 1 :(得分:0)
好的,所以这在技术上并没有解决原来的问题,但确实解决了它。我做的是将我的更改备份到style.css
,然后将我的本地dev
分支重置为origin/dev
。这解决了它所认为的冲突,因为本地和起源现在是相同的,但也在我的本地dev
分支中提交了一个提交。
那么我只是将我的备份style.css
(我最近的更改)与我现在的本地版本区分开来,合并我的更改并提交。
答案 2 :(得分:0)
我自己就是这样,在寻找解决方案时发现了这个问题。 “冲突”消息出现在我的默认文本编辑器中。在gitshell仍然打开的情况下关闭文本编辑器允许提交完成。