1354 votes

Vous n'avez pas conclu votre fusion (MERGE_HEAD existe)

J'ai créé une branche appelée 'f' et j'ai effectué une commande checkout vers master. Lorsque j'ai essayé la commande git pull, j'ai reçu ce message :

Vous n'avez pas terminé votre fusion (MERGE_HEAD existe).
Veuillez, valider vos modifications avant de pouvoir fusionner.

Quand j'ai essayé la commande git status, cela m'a donné ceci :

Sur la branche master
# Votre branche et 'origin/master' ont divergé,
# et ont respectivement 1 et 13 commits différents chacun.
#
# Modifications à valider :
#
#   modifié :   app/assets/images/backward.png
#   modifié :   app/assets/images/forward.png
#   nouveau fichier :   app/assets/images/index_background.jpg
#   nouveau fichier :   app/assets/images/loading.gif
#   modifié :   app/assets/images/pause.png
#   modifié :   app/assets/images/play.png
#   nouveau fichier :   app/assets/javascripts/jquery-ui-bootstrap.js
#   nouveau fichier :   app/assets/stylesheets/jquery-ui-bootstrap.css
#   modifié :   app/controllers/friends_controller.rb
#   modifié :   app/controllers/plays_controller.rb
#   modifié :   app/mailers/invite_friends_mailer.rb
#   modifié :   app/mailers/send_plays_mailer.rb
#   modifié :   app/mailers/shot_chart_mailer.rb
#   modifié :   app/views/friends/show_plays.html.erb
#   modifié :   app/views/layouts/application.html.erb
#   modifié :   app/views/plays/_inbox_table.html.erb
#   modifié :   app/views/plays/show.html.erb
#   modifié :   app/views/welcome/contact_form.html.erb
#   modifié :   app/views/welcome/index.html.erb
#   modifié :   log/development.log
#   modifié :   log/restclient.log
#   nouveau fichier :   tmp/cache/assets/C1A/C00/sprockets%2Fb7901e0813446f810e560158a1a97066
...
...

Que devrais-je faire?

15voto

Franklin Points 139

Essayer

git reset --hard origine/trunk

'trunk' est la branche vers laquelle j'essaie d'accéder.

Je ne sais pas comment ni pourquoi cela fonctionne. Cela avait quelque chose à voir avec un commit que j'ai fait qui forçait mes demandes de tirage à effectuer une fusion.

0 votes

Cela a fonctionné en combinaison avec les réponses ci-dessus pour moi

11voto

Taimoor Changaiz Points 892

J'ai résolu les conflits et j'ai aussi commité mais je reçois toujours ce message d'erreur lors de git push

Tous les conflits ont été résolus mais vous êtes toujours en train de fusionner.
(utilisez "git commit" pour conclure la fusion)

J'ai suivi ces étapes pour résoudre l'erreur :

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

0 votes

Que fait le push à la fin?

9voto

sai Points 99

Valider les changements de fusion a résolu mon problème :

git commit -m "message de validation"

7voto

user2037129 Points 1

Il suffit d'exécuter cette commande pour annuler le conflit :

git merge --abort

Après cela, vous pouvez tirer votre projet :

git pull origin VOTRE_BRANCHE

Version git testée 2.25.1

5voto

Dans mon cas, j'avais une fonction cherry-pick qui a produit un certain nombre de conflits de fusion, j'ai donc décidé de ne pas terminer le cherry pick. J'ai abandonné tous mes changements. En procédant ainsi, je me suis retrouvé dans un état où j'ai reçu l'erreur suivante :

Vous n'avez pas conclu votre fusion (MERGE_HEAD existe)

Pour résoudre le problème, j'ai exécuté la commande git suivante qui a corrigé le problème.

git cherry-pick --abort

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X