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 ..
?
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
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.