web-dev-qa-db-fra.com

'Fatal: Cherry-Pick Failed' avec Git

Je travaillais sur une branche X. J'ai fait un commit et l'ai poussé.

Ensuite, je voulais cherry-pick à la branche Y. Mais en raison de la présence de certains fichiers non fusionnés, j'ai reçu le message suivant:

error: 'cherry-pick' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: cherry-pick failed

Maintenant, je veux simplement supprimer ma branche Y, puis recréer la branche Y et ensuite éditer manuellement le fichier où j'essayais de choisir.

Actuellement, je ne peux pas supprimer la branche car c'est ma branche de travail. Je ne peux checkout aucune autre branche. J'obtiens l'erreur suivante en essayant de changer la branche.

mod/assign/locallib.php: needs merge
error: you need to resolve your current index first

J'ai juste besoin de supprimer la branche Y, sans rien perdre sur la branche X.

MODIFIER # 1

J'ai édité le fichier mod/assign/locallib.php

En faisant git status, Je reçois:

# On branch MDL-38267_24
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both modified:      mod/assign/locallib.php
#

Quel fichier dois-je ajouter dans git add ..?

24
xan

Comme vous avez déjà modifié le fichier de conflit, vous avez juste besoin

git add mod/assign/locallib.php

puis

git cherry-pick --continue
18
pktangyue

Vous avez tenté de fusionner (via git merge ou git pull) et contiennent des fichiers dont les conflits ne sont pas résolus. Si tu fais git status, vous verrez probablement des fichiers répertoriés comme "modifiés par les deux". Vous devez vous en occuper avant de faire quoi que ce soit d'autre.

Faire git mergetool et il affichera les fichiers un par un. Corrigez le fichier pour que les conflits soient résolus et vous devriez pouvoir continuer.

2
Schleis