您尚未完成合并(MERGE_HEAD存在)

Ank*_*uri 945 git

我做了一个名为'f'的分支并做了一个结账工作.当我尝试git pull命令时收到此消息:

You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
Run Code Online (Sandbox Code Playgroud)

当我尝试时git status,它给了我以下内容:

On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 13 different commit(s) each, respectively.
#
# Changes to be committed:
#
#   modified:   app/assets/images/backward.png
#   modified:   app/assets/images/forward.png
#   new file:   app/assets/images/index_background.jpg
#   new file:   app/assets/images/loading.gif
#   modified:   app/assets/images/pause.png
#   modified:   app/assets/images/play.png
#   new file:   app/assets/javascripts/jquery-ui-bootstrap.js
#   new file:   app/assets/stylesheets/jquery-ui-bootstrap.css
#   modified:   app/controllers/friends_controller.rb
#   modified:   app/controllers/plays_controller.rb
#   modified:   app/mailers/invite_friends_mailer.rb
#   modified:   app/mailers/send_plays_mailer.rb
#   modified:   app/mailers/shot_chart_mailer.rb
#   modified:   app/views/friends/show_plays.html.erb
#   modified:   app/views/layouts/application.html.erb
#   modified:   app/views/plays/_inbox_table.html.erb
#   modified:   app/views/plays/show.html.erb
#   modified:   app/views/welcome/contact_form.html.erb
#   modified:   app/views/welcome/index.html.erb
#   modified:   log/development.log
#   modified:   log/restclient.log
#   new file:   tmp/cache/assets/C1A/C00/sprockets%2Fb7901e0813446f810e560158a1a97066
#   modified:   tmp/cache/assets/C64/930/sprockets%2F65aa1510292214f4fd1342280d521e4c
#   new file:   tmp/cache/assets/C73/C40/sprockets%2F96912377b93498914dd04bc69fa98585
#   new file:   tmp/cache/assets/CA9/090/sprockets%2Fa71992733a432421e67e03ff1bd441d8
#   new file:   tmp/cache/assets/CCD/7E0/sprockets%2F47125c2ebd0e8b29b6511b7b961152a1
#   modified:   tmp/cache/assets/CD5/DD0/sprockets%2F59d317902de6e0f68689899259caff26
#   modified:   tmp/cache/assets/CE3/080/sprockets%2F5c3b516e854760f14eda2395c4ff2581
#   new file:   tmp/cache/assets/CED/B20/sprockets%2F423772fde44ab6f6f861639ee71444c4
#   new file:   tmp/cache/assets/D0C/E10/sprockets%2F8d1f4b30c6be13017565fe1b697156ce
#   new file:   tmp/cache/assets/D12/290/sprockets%2F93ae21f3cdd5e24444ae4651913fd875
#   new file:   tmp/cache/assets/D13/FC0/sprockets%2F57aad34b9d3c9e225205237dac9b1999
#   new file:   tmp/cache/assets/D1D/DE0/sprockets%2F5840ff4283f6545f472be8e10ce67bb8
#   new file:   tmp/cache/assets/D23/BD0/sprockets%2F439d5dedcc8c54560881edb9f0456819
#   new file:   tmp/cache/assets/D24/570/sprockets%2Fb449db428fc674796e18b7a419924afe
#   new file:   tmp/cache/assets/D28/480/sprockets%2F9aeec798a04544e478806ffe57e66a51
#   new file:   tmp/cache/assets/D3A/ED0/sprockets%2Fcd959cbf710b366c145747eb3c062bb4
#   new file:   tmp/cache/assets/D3C/060/sprockets%2F363ac7c9208d3bb5d7047f11c159d7ce
#   new file:   tmp/cache/assets/D48/D00/sprockets%2Fe23c97b8996e7b5567a3080c285aaccb
#   new file:   tmp/cache/assets/D6A/900/sprockets%2Fa5cece9476b21aa4d5f46911ca96c450
#   new file:   tmp/cache/assets/D6C/510/sprockets%2Fb086a020de3c258cb1c67dfc9c67d546
#   new file:   tmp/cache/assets/D70/F30/sprockets%2Facf9a6348722adf1ee7abbb695603078
#   new file:   tmp/cache/assets/DA3/4A0/sprockets%2F69c26d0a9ca8ce383e20897cefe05aa4
#   new file:   tmp/cache/assets/DA7/2F0/sprockets%2F61da396fb86c5ecd844a2d83ac759b4b
#   new file:   tmp/cache/assets/DB9/C80/sprockets%2F876fbfb9685b2b8ea476fa3c67ae498b
#   new file:   tmp/cache/assets/DBD/7A0/sprockets%2F3640ea84a1dfaf6f91a01d1d6fbe223d
#   new file:   tmp/cache/assets/DC1/8D0/sprockets%2Fe5ee1f1cfba2144ec00b1dcd6773e691
#   new file:   tmp/cache/assets/DCC/E60/sprockets%2Fd6a95f601456c93ff9a1bb70dea3dfc0
#   new file:   tmp/cache/assets/DF1/130/sprockets%2Fcda4825bb42c91e2d1f1ea7b2b958bda
#   new file:   tmp/cache/assets/E23/DE0/sprockets%2Fb1acc25c28cd1fabafbec99d169163d3
#   new file:   tmp/cache/assets/E23/FD0/sprockets%2Fea3dbcd1f341008ef8be67b1ccc5a9c5
#   modified:   tmp/cache/assets/E4E/AD0/sprockets%2Fb930f45cfe7c6a8d0efcada3013cc4bc
#   new file:   tmp/cache/assets/E63/7D0/sprockets%2F77de495a665c3ebcb47befecd07baae6
#   modified:   tmp/pids/server.pid
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   Coachbase/
#   log/development.log.orig
#   log/restclient.log.orig
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Kar*_*ose 1743

好.问题是你之前的拉动无法自动合并并进入冲突状态.在下一次拉动之前,冲突没有得到妥善解决.

  1. 撤消合并并再次拉动.

    撤消合并:

    git merge --abort [自git 1.7.4版]

    git reset --merge [先前的git版本]

  2. 解决冲突.

  3. 不要忘记添加并提交合并.

  4. git pull 现在应该工作正常.

  • 不起作用:``[env] $ git merge --abort fatal:你还没有完成你的合并(MERGE_HEAD存在).请在合并之前提交您的更改.` (4认同)
  • 我试过并给了我文件冲突(拉时)自动合并app/views/layouts/application.html.erb自动合并log/development.log CONFLICT(内容):合并log/development.log中的冲突自动合并log/restclient.log CONFLICT(content):log/restclient.log中的合并冲突自动合并失败; 修复冲突,然后提交结果.我修复了指定的本地文件,然后我尝试'git pull'拉不可能,因为你有未合并的文件.请在工作树中修复它们,然后根据需要使用'git add/rm <file>'来标记分辨率,或使用'git commit -a'. (2认同)
  • @AnkitSuri,解决冲突后,您是否将它们暂存并提交? (2认同)

kna*_*ode 84

如果您确定已经解决了所有合并冲突:

rm -rf .git/MERGE*
Run Code Online (Sandbox Code Playgroud)

而错误将消失.

  • 如果您删除 MERGE_HEAD,那么生成的提交是否只有一个父级,因此您将没有合并分支的历史记录? (2认同)
  • 这就是我想要的 (2认同)

fan*_*ous 63

我认为值得一提的是,有许多场景You have not concluded your merge (MERGE_HEAD exists)可能会出现消息,因为很多人在搜索了所述消息后可能已到达此页面.决议将取决于你如何到达那里.

git status 始终是一个有用的起点.

如果您已经将内容合并到您满意的程度并且仍然收到此消息,那么它可能就像执行此操作一样简单

git add file
git commit
Run Code Online (Sandbox Code Playgroud)

但同样,这实际上取决于具体情况.在尝试任何事情之前理解基础知识是个好主意(Terence发布的相同链接): Git - 基本合并冲突

  • 感谢您提出这个问题,对于我们这些问题较简单的人。“Git status”是像我这样的新手所需要的,需要提醒的是修复冲突合并的最后一步是简单的命令“git commit”。 (2认同)

小智 16

提交合并更改解决了我的问题:

git commit -m "commit message"
Run Code Online (Sandbox Code Playgroud)


Sun*_*ota 13

git merge --abort
Run Code Online (Sandbox Code Playgroud)

这段代码解决了我的问题。


Pej*_*yri 11

只需运行以下命令即可中止冲突:

git merge --abort
Run Code Online (Sandbox Code Playgroud)

之后,您可以拉取您的项目:

git pull origin YOUR_BRANCH
Run Code Online (Sandbox Code Playgroud)

测试过的git版本2.25.1


use*_*167 10

带添加标志的 Git commit 解决了我的问题:

$ git commit -am "commit message"
Run Code Online (Sandbox Code Playgroud)


And*_*kiy 7

运行git status它会告诉你该怎么做。

例如,就我而言,它是这样的消息: All conflicts fixed but you are still merging. (use "git commit" to conclude merge)

确实,跑步git commit解决了这个问题。


Tai*_*aiz 6

我解决了冲突并且也犯了错,但仍然收到此错误消息 git push

所有冲突已解决,但您仍在合并中。
(使用“ git commit”结束合并)

我做了以下步骤来解决错误:

rm -rf .git/MERGE*
git pull origin branch_name 
git push origin branch_name
Run Code Online (Sandbox Code Playgroud)


Nup*_*rma 6

当我有两次提交相同的消息时,我遇到了这个问题。解决我的问题的是,

git add.
git commit -m "New commit message"
Run Code Online (Sandbox Code Playgroud)


小智 5

就我而言,我的樱桃选择会产生许多合并冲突,因此我决定不完成樱桃选择。我放弃了所有更改。这样做使我陷入以下错误状态:

您尚未完成合并(MERGE_HEAD 存在

为了解决这个问题,我执行了以下 git 命令来解决这个问题。

git cherry-pick --abort
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试更改任何临时文件。就像删除任何空间或添加空间,然后提交并推送该文件。

git add 'temporary_change_file'

git commit -m "git 问题解决"

git push origin 开发

然后尝试 git pull,

git pull origin 开发

希望这可以帮助你。


小智 5

尝试

git reset --hard origin/trunk
Run Code Online (Sandbox Code Playgroud)

“ trunk”是我要尝试到达的分支。

我不知道这是如何或为什么有效。它与我所做的某些提交有关,这迫使我的请求请求进行合并。


Bad*_*laj 5

我认为这是正确的方法:

git merge --abort

git fetch --all
Run Code Online (Sandbox Code Playgroud)

然后,您有两个选择:

git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

或如果您在其他分支机构:

git reset --hard origin/<branch_name>
Run Code Online (Sandbox Code Playgroud)

  • 只有 git merge --abort 可以自行工作 &amp;&amp; git pull 然后 (3认同)
  • git reset --hard origin/&lt;branch_name&gt; 为我工作。谢谢! (2认同)

Aka*_*ash 5

中止对我不起作用。所以我不得不这样做continue,这对我有用:

git merge --continue
Run Code Online (Sandbox Code Playgroud)

  • 这解决了我的问题,但我很想知道我的分支是如何进入这种状态的。 (2认同)
  • 我总是收到这个错误,但最终还是找到了这个答案。总是为我工作 (2认同)