Вы не завершили свое слияние (существует MERGE_HEAD)

Я сделал ветку с именем "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

ХОРОШО. Проблема в том, что ваше предыдущее извлечение не удалось автоматически объединить и перешло в конфликтное состояние. И конфликт не был решен должным образом до следующей попытки.

  1. Отмените объединение и потяните снова.

    Чтобы отменить слияние:

    git merge --abort [Начиная с git версии 1.7.4]

    git reset --merge [предыдущие версии git]

  2. Разрешите конфликт.

  3. Не забудьте добавить и зафиксировать слияние.

  4. git pull теперь должен работать нормально.

Ответ 2

Если вы уверены, что уже разрешили все конфликты слияний:

rm -rf .git/MERGE*

И ошибка исчезнет.

Ответ 3

Я думаю, стоит упомянуть, что существует множество сценариев, в которых может возникнуть сообщение You have not concluded your merge (MERGE_HEAD exists), потому что многие люди, возможно, пришли на эту страницу после поиска указанного сообщения. Разрешение будет зависеть от того, как вы туда попали.

git status всегда является полезной отправной точкой.

Если вы уже объединили содержимое в соответствии с вашими пожеланиями и все еще получаете это сообщение, это может быть так же просто, как сделать

git add file
git commit

Но опять же, это действительно зависит от ситуации. Это хорошая идея, чтобы понять основы, прежде чем пытаться что-либо (та же ссылка Terence): Git - Основные конфликты слияния

Ответ 4

Проблема в том, что вы начали слияние, и до сих пор остаются неразрешенные конфликты. Простое решение - отменить текущее слияние и начать все заново. Просто запустите git merge --abort и снова вытащите

Ответ 5

Я разрешил конфликты и также зафиксировал, но все еще получаю это сообщение об ошибке git push

Все конфликты исправлены, но вы все еще слияния.
(используйте "git commit", чтобы завершить слияние)

Я сделал следующие шаги для устранения ошибки:

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

Ответ 6

Пытаться

git reset --hard origin/trunk

"ствол" - это ветка, к которой я пытаюсь добраться.

Я не знаю, как и почему это работает. Это было связано с каким-то коммитом, который я сделал, который заставлял мои запросы на слияние выполнять слияние.

Ответ 7

Попробуйте изменить любой временный файл. Например, просто удалите пробел или добавьте пробел, а затем зафиксируйте и отправьте этот файл.

Git добавить 'временный_обмен_файл'

git commit -m "решение проблем git"

мерзавец происхождение развивается

А затем попробуйте Git Pull,

мерзавец происхождение развивается

Надеюсь, это поможет вам.

Ответ 8

В моем случае у меня был выбор вишни, который вызывал ряд конфликтов слияния, поэтому я решил не заполнять вишневый выбор. Я отбросил все мои изменения. Это привело меня в состояние, когда я получил следующую ошибку:

Вы не завершили свое слияние (существует MERGE_HEAD

Чтобы устранить проблему, я выполнил следующую команду git, которая устранила проблему.

git cherry-pick --abort

Ответ 9

Blockquote

Если вы пытаетесь вытащить из другой ветки в свою ветку. Если вы видите эту ошибку.

Сначала вы должны попытаться выполнить git commit, а затем перетащить другую ветку в вашу.

  1. "мерзавец добавить."
  2. мерзавец совершить
  3. Затем сделайте git pull из необходимой ветки.

Ответ 10

Лучший подход - отменить слияние и снова выполнить слияние. Часто вы получаете порядок вещей, испорченных. Попытайтесь исправить конфликты и столкнуться с беспорядком.

Итак, отмените это и снова слейте.

Убедитесь, что у вас есть соответствующая настройка инструментов для вашей среды. Я нахожусь на mac и использую DIFFMERGE. Я думаю, что DIFFMERGE доступен для всех сред. Инструкции здесь: Установить слияние DIFF на MAC

У меня есть это, чтобы разрешить мои конфликты: Git Основные слияния-конфликты

Ответ 11

Я думаю, что это правильный путь заключается в следующем:

git merge --abort

git fetch --all

Затем у вас есть два варианта:

git reset --hard origin/master

ИЛИ Если вы находитесь в другой ветке:

git reset --hard origin/<branch_name>

Ответ 12

во-первых, используйте git pull для слияния репозитория, сохраните ваши изменения. затем повторно введите git commit -m "your commit".

Ответ 13

Это сработало для меня:

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