2015-11-12 1 views
6

Dites, j'ai été confronté à un conflit de fusion et j'ai réussi à le réparer, mais je n'ai pas marqué comme résolu (je n'ai pas encore fait de fichiers en conflit avec git add). À ce stade, je peux faire git diff et on me montrera comment le fichier résultant diffère de chaque parent, dans un format de diff combiné.Voir git diff des parents individuels

Tout va bien jusqu'ici. Maintenant, je voulais inspecter séparément comment le fichier résultant diffère de chaque parent. Bien sûr, pour un conflit de fusion impliquant 2 parents (cerise-pick, rebase etc.), je peux utiliser git diff --ours ou git diff --theirs, mais comment puis-je étendre cela à plus de parents? En d'autres termes, si je rencontre un conflit de la part de 3 parents, est-il possible de voir les différences individuelles avec chaque parent?

En outre, ma découverte de --ours et --theirs était plutôt serendipitous; Je n'ai pas pu trouver leur utilisation documentée dans un contexte diff.

+4

Vous pourriez 'diff' un arbre de travail avec un commit particulier dans le repo. Est-ce suffisant pour toi? – user3159253

+1

Si le fichier est toujours marqué comme 'C (conflictuel)', vous devrez peut-être le 'git reset' manuellement, et vous pourrez ensuite le 'git diff' avec la version que vous voulez. –

+0

Copie possible de [Afficher les parents de fusion non validée dans git] (http://stackoverflow.com/questions/13590740/show-parents-of-uncommitted-merge-in-git) – max630

Répondre