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

我创建了一个名为“f”的分支并对master进行了签出。当我尝试git pull命令时,我收到了以下消息:

You have not concluded your merge (MERGE_HEAD exists).Please, commit your changes before you can merge.

当我尝试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

我该怎么办?

1561338 次浏览

问题是您上一次拉取未能自动合并并进入冲突状态。在下一次拉取之前冲突未得到正确解决。

  1. 撤消合并并再次拉取。

要撤消合并:

git merge --abort[从git版本1.7.4开始]

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

  1. 解决冲突。

  2. 不要忘记添加和提交合并。

  3. git pull现在应该可以正常工作了。

最好的方法是撤销合并并再次执行合并。通常你会把事情的顺序弄得一团糟。尝试修复冲突并让自己陷入混乱。

所以撤消它并再次合并。

确保您为您的环境设置了适当的diff工具。我在Mac上并使用DIFFMERGE。我认为DIFFMERGE适用于所有环境。说明在这里:在MAC上安装DIFF Merge

我有这个有用的解决我的冲突:Git基础合并冲突解决方案

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

rm -rf .git/MERGE*

错误将消失。

我认为值得一提的是,有许多情况下可能会出现消息You have not concluded your merge (MERGE_HEAD exists),因为许多人可能在搜索该消息后到达该页面。分辨率将取决于你如何到达那里。

git status总是一个有用的起点。

如果您已经将内容合并到您满意的地方并且仍然收到此消息,则可以像这样做一样简单

git add filegit commit

但同样,这真的取决于情况。在尝试任何事情之前了解基础知识是个好主意(特伦斯发布的相同链接):Git-基本合并冲突

这对我有效:

git log`git reset --hard <089810b5be5e907ad9e3b01f>`git pullgit status

我解决了冲突并提交了,但仍然在git push上收到此错误消息

所有冲突已修复,但您仍在合并。
(使用“git提交”结束合并)

我做了这些步骤来解决错误:

rm -rf .git/MERGE*git pull origin branch_namegit push origin branch_name

在我的例子中,我有一个樱桃选择会产生许多合并冲突,所以我决定不完成樱桃选择。我放弃了所有的更改。这样做会让我进入一个收到以下错误的状态:

您尚未完成合并(MERGE_HEAD存在

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

git cherry-pick --abort

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

git添加temporary_change_file

git提交-m"git问题解决"

git Push源开发

然后尝试git拉取,

git拉取起源开发

希望这能帮到你。

区块报价

如果您尝试从另一个分支拉取到您的分支。如果您看到此错误。

首先,您应该尝试执行git提交,然后将另一个分支拉到您的分支中。

  1. "git add."
  2. git提交
  3. 然后从所需的分支进行git拉取。

试试看

git reset --hard origin/trunk

“树干”是我试图到达的分支。

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

首先,使用git pull合并存储库,保存change.thenretypegit commit -m "your commit"

我认为这是正确的方法:

git merge --abort
git fetch --all

然后,你有两个选择:

git reset --hard origin/master

或者如果你在其他分支上:

git reset --hard origin/<branch_name>

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

git commit -m "commit message"

我们可以使用git merge --continue和git版本2.12及更高版本在解决冲突后继续您的合并。可以看到这个回答

我解决了冲突,然后使用-a选项进行提交。它为我们工作

中止对我不起作用。所以我不得不continue,这是对我有效的:

git merge --continue

只需运行此命令以中止冲突:

git merge --abort

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

git pull origin YOUR_BRANCH

测试的git版本2.25.1

首先,在继续之前确保没有冲突。

检查. git文件夹中是否没有MERGE_MSG。*文件。

我知道没有冲突,不知何故我有2个(一个*. swp秒*. swo)并删除它们(尝试剪切+粘贴到不同的目录以防万一)有助于处理错误并成功合并。

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

git add.git commit -m "New commit message"

使用add标志的Git提交解决了我的问题:

$ git commit -am "commit message"