web-dev-qa-db-fra.com

Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)

J'ai fait une branche appelée 'f' et fait un checkout à maîtriser. Quand j'ai essayé la commande git pull j'ai reçu 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é ceci:

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 devrais-je faire?

769
Ankit Suri

D'ACCORD. Le problème est que votre opération précédente n'a pas réussi à fusionner automatiquement et est passée à l'état conflictuel. Et le conflit n'a pas été résolu correctement avant le prochain pull. 

  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 antérieures de Git]

  2. Résoudre le conflit.

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

  4. git pull devrait maintenant fonctionner correctement.

1436
Karthik Bose

Si vous êtes sûr d'avoir déjà résolu tous les conflits de fusion:

rm -rf .git/MERGE*

Et l'erreur disparaîtra.

71
knagode

Je pense qu'il convient 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, car de nombreuses personnes sont probablement parvenues à cette page après avoir recherché 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 que vous recevez toujours ce message, cela pourrait être aussi simple que de le 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 que Terence posté): Git - Basic Merge Conflicts

51
fantabolous

J'ai résolu les conflits et aussi commis mais je reçois toujours ce message d'erreur sur git Push

Tous les conflits sont résolus mais vous êtes toujours en train de fusionner.
(utilisez "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
Taimoor Changaiz

Essayez de changer n'importe quel fichier temporaire. Par exemple, supprimez tout espace ou ajoutez de l'espace, puis validez et transmettez ce fichier.

git add 'temporaire_change_file'

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

git Push Origin se développe

Et puis essayez git pull,

git pull Origine développer

J'espère que cela pourrait vous aider.

3
Kazim Noorani

Essayer

git reset --hard Origin/trunk

"tronc" est la branche à laquelle j'essaie de me rendre.

Je ne sais pas comment ni pourquoi ça marche. Cela avait quelque chose à voir avec un commit que j'avais fait qui forçait mes demandes d'attraction à faire une fusion.

1
Franklin

Dans mon cas, j'avais un choix de cerises qui produisait un certain nombre de conflits de fusion, alors j'ai décidé de ne pas compléter le choix de cerises. 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 résoudre le problème, j'ai exécuté la commande suivante git qui a résolu le problème. 

git cherry-pick --abort
1
Cosmo Scrivanich

commencez par utiliser git pull pour fusionner le référentiel et enregistrez votre modification, puis retapez git commit -m "your commit".

0
Jack loner

La meilleure approche consiste à annuler la fusion et à effectuer à nouveau la fusion. Souvent, vous obtenez l'ordre des choses en désordre. Essayez de résoudre les conflits et de vous mettre dans le pétrin.

Alors annulez-le et fusionnez à nouveau.

Assurez-vous que vous disposez de la configuration appropriée des outils de différenciation pour votre environnement. Je suis sur un Mac et utilise DIFFMERGE. Je pense que DIFFMERGE est disponible pour tous les environnements. Les instructions sont ici: Installer DIFF Merge sur un MAC

J'ai ce utile résoudre mes conflits: Git Basic-Merge-Conflicts

0
Terence

Je pense que c'est la bonne façon est la suivante:

git merge --abort

git fetch --all

Ensuite, vous avez deux options:

git reset --hard Origin/master

OU Si vous êtes sur une autre branche:

git reset --hard Origin/<branch_name>
0
Badr Bellaj

Blockquote

Si vous essayez de tirer d'une autre branche dans votre branche. Si vous voyez cette erreur. 

Tout d’abord, vous devriez essayer de faire git commit puis tirer une autre branche dans la vôtre.

  1. "add git."
  2. git commit 
  3. Puis faites git tirer de la branche requise.
0
Rohith