Vous n'avez pas terminé votre fusion (la tête de la fusion existe)

j'ai fait une branche appelée 'f' et j'ai fait un check-out pour maîtriser. Quand j'ai essayé la commande git pull j'ai eu ce message:

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

quand j'ai essayé le git status , il m'a donné ce qui suit:

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

Que dois-je faire?

697
git
demandé sur Dom 2012-07-25 12:58:17

9 réponses

OK. Le problème est que votre précédent pull n'a pas réussi à fusionner automatiquement et est passé à l'état de conflit. Et le conflit n'a pas été résolu correctement avant la prochaine attaque.

  1. annuler la fusion et tirer à nouveau.

    pour annuler une fusion:

    git merge --abort [depuis la version 1.7.4 de git]

    git reset --merge [versions git antérieures]

  2. Resolve conflit.

  3. N'oubliez pas d'ajouter et de propager la fusion.

  4. git pull " maintenant devrait fonctionner très bien.

1305
répondu Karthik Bose 2018-04-09 20:14:04

si vous êtes sûr que vous avez déjà résolu tous les conflits de fusion:

rm -rf .git/MERGE*

et l'erreur disparaîtra.

65
répondu knagode 2018-07-11 20:01:25

je pense qu'il est intéressant de mentionner qu'il existe de nombreux scénarios dans lesquels le message You have not concluded your merge (MERGE_HEAD exists) pourrait se produire, parce que beaucoup de gens sont probablement arrivés à cette page après avoir cherché ledit message. La résolution dépendra de la façon dont vous y êtes arrivé.

git status est toujours un point de départ utile.

si vous avez déjà fusionné le contenu à votre satisfaction et recevez toujours ce message, il pourrait être aussi simple que faire

git add file
git commit

Mais encore une fois, cela dépend vraiment de la situation. C'est une bonne idée de comprendre les bases avant de tenter quoi que ce soit (même lien Terence posté): Git - Base Des Conflits De Fusion

48
répondu fantabolous 2014-07-18 04:45:59

le problème est que vous avez commencé une fusion et il y a encore des conflits non résolus. La solution facile est d'annuler la fusion et de recommencer. Il suffit de lancer git merge --abort et tirer à nouveau

4
répondu nurxyz 2015-08-11 14:55:25

j'ai résolu les conflits et j'ai aussi commis mais j'obtiens toujours ce message d'erreur sur git push

tous les conflits sont résolus mais vous fusionnez toujours.

(utiliser "git commit" pour conclure la fusion)

j'ai fait ces étapes pour résoudre l'erreur:

rm -rf .git/MERGE*
git pull origin branch_name 
git push origin branch_name
4
répondu Taimoor Changaiz 2017-05-11 15:55:10

essayez de changer un fichier temporaire. Comme supprimer n'importe quel espace ou ajouter de l'espace, puis commit et push ce fichier.

git add 'temporary_change_file '

git commit -m "git problème de résolution"

git push origin develop

Et puis essayez la commande git pull,

git pull origin develop

Hope cela peut vous aider.

2
répondu Kazim Noorani 2018-05-10 05:12:04

dans mon cas j'ai eu un choix cherry qui produit un certain nombre de conflits de fusion, donc je décide de ne pas compléter le choix cherry. J'ai jeté tous mes changements. Cela m'a mis dans un état où j'ai reçu l'erreur suivante:

vous n'avez pas terminé votre Fusion (MERGE_HEAD existe")"

pour corriger le problème, j'ai exécuté la commande git suivante qui a corrigé le problème.

git cherry-pick --abort
1
répondu Cosmo Scrivanich 2017-09-29 15:55:19

la meilleure approche est de défaire la fusion et effectuer à nouveau la fusion. Souvent, vous obtenez l'ordre des choses foiré. Essayez de régler les conflits et mettez-vous dans le pétrin.

alors défais - le et fusionne à nouveau.

assurez-vous que vous disposez des outils diff appropriés pour votre environnement. Je suis sur un mac et d'utiliser DIFFMERGE. Je pense que DIFFMERGE est disponible pour tous les environnements. Les Instructions sont ici: installer DIFF Merge sur un MAC

j'ai cette résolution utile de mes conflits: Git Basic-Merge-Conflicts

0
répondu Terence 2013-11-14 06:54:33

cela a fonctionné pour moi:

git log
`git reset --hard <089810b5be5e907ad9e3b01f>`
git pull
git status
-10
répondu Plus1 2016-12-22 21:24:15