我建立了一个名为'f'的分支,并对主干进行了签出。当我尝试使用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
我应该怎么做?
好的。问题是你之前的拉动未能自动合并,进入了冲突状态。而在下一次拉取之前,冲突并没有得到妥善解决。
1.撤销合并,重新拉取。
要撤消一个合并
git merge --abort
[自git 1.7.4版起]
git reset --merge
[以前的git版本]
2.解决冲突。
3.**不要忘记添加和提交合并。
4.git pull
现在应该可以正常工作了。
我想值得一提的是,有很多情况下会出现 "你还没有完成合并(MERGE_HEAD存在) "的信息,因为很多人可能是在搜索了上述信息后才到达这个页面的。 解决的方法将取决于你是如何到达那里的。
git status
总是一个有用的起点。
如果你已经将内容合并到了你满意的程度,但仍然收到这个消息,那可能只是简单地做一下
git add file
git commit
但同样,这真的取决于情况。 在尝试任何事情之前,最好先了解一下基础知识(和 Terence 发布的链接一样)。 [Git - Basic Merge Conflicts][1] [1]: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging#Basic-Merge-Conflicts
我解决了冲突,也提交了,但在 "git push "时仍然得到这个错误信息。
所有冲突都已修复,但你还是在合并。 所有冲突已修复,但你仍在合并。 (使用"git commit" 来结束合并)
我做了这些步骤来解决错误。
rm -rf .git/MERGE*
git pull origin branch_name
git push origin branch_name
在我的案例中,我有一个cherry pick,产生了许多合并冲突,所以我决定不完成cherry pick。 我丢弃了我所有的更改。 这样做使我进入了一个状态,我收到了以下错误。
你还没有完成你的合并(MERGE_HEAD exists
为了解决这个问题,我执行了下面的git命令,解决了这个问题。
git cherry-pick --abort
最好的办法是撤消合并,再进行一次合并。通常你会把事情的顺序搞乱。试图修复冲突,让自己陷入混乱。
所以撤消做,再合并一次。
确保你为你的环境设置了适当的差异工具。我在mac上,使用DIFFMERGE。我想DIFFMERGE适用于所有环境。说明在这里。在MAC上安装DIFF Merge 。
我有这个帮助解决我的冲突。Git Basic-Merge-Conflicts。