Redémarrez / annulez la résolution des conflits dans un seul fichier

189

Dans une fusion git plus grande avec plusieurs fichiers en conflit, j'ai incorrectement marqué un fichier comme résolu (en utilisant git add FILEaprès quelques modifications)

J'aimerais maintenant annuler ma tentative de résolution de conflit et recommencer à résoudre ce fichier.

Comment puis je faire ça?

Alex Krauss
la source

Réponses:

335

Trouvez la solution ici: http://gitster.livejournal.com/43665.html

git checkout -m FILE

Cela restaure l'état non résolu, y compris toutes les informations sur le parent et la base de fusion, ce qui permet de redémarrer la résolution.

Alex Krauss
la source
3
+1; c'est la vraie solution :) git resetne touchera pas le fichier.
poke le
4
both modified
Cela
Cela m'a vraiment aidé car il a remis le fichier dans son état de résolution pré-conflit. Ce qui est intéressant, c'est qu'au lieu que les deux points de fusion soient nommés "head" et {REVISION}, ils sont maintenant appelés "nôtre" et "leur".
TGP1994
26
"le fichier est toujours marqué par both modified". C'est exactement le résultat attendu de la question.
Kevin Smyth
2
-mcomme à--merge
kontur
0
git reset HEAD FILE

Exemple

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
Steven Penny
la source
6
Lorsque je fais cela et que je cours git statusaprès, FILEapparaît sous "Modifications non préparées pour la validation". Cependant, je m'attendrais à ce qu'il apparaisse sous "Chemins non fusionnés", de sorte que mon IDE le récupère pour le re-fusionner ...
Alex Krauss