2015-11-12 10 views
6

Angenommen, mir wurde ein Zusammenführungskonflikt angezeigt, und ich habe es behoben, aber nicht als aufgelöst markiert (d. H. Ich habe noch keine widersprüchlichen Dateien git add). An dieser Stelle kann ich git diff tun, und mir wird gezeigt, wie sich die resultierende Datei von jedem Elternteil in einem kombinierten Diff-Format unterscheidet.Zeige git diff von einzelnen Eltern

Alles gut so weit. Jetzt wollte ich separat untersuchen, wie sich die resultierende Datei von einzelnen Elternteilen unterscheidet. Sicher, für einen Merge-Konflikt mit zwei Elternteilen (Cherry-Pick, Rebase usw.) kann ich git diff --ours oder git diff --theirs verwenden, aber wie erweitere ich das auf mehr Eltern?

Mit anderen Worten, wenn ich einen Konflikt von 3 Eltern bekomme, ist es möglich, einzelne Diffs w.r.t jedes Elternteil zu sehen? Auch meine Entdeckung von --ours und --theirs war eher zufällig; Ich konnte ihre Verwendung nicht in einem Diff-Kontext dokumentiert finden.

+4

konnte Sie 'diff' ein Arbeits Baum mit einem bestimmten im Repo begehen. Reicht das für dich? – user3159253

+1

Wenn die Datei immer noch als "C (konfliktbehaftet)" markiert ist, müssen Sie sie möglicherweise manuell zurücksetzen, und dann können Sie sie mit jeder gewünschten Version "diff" ändern. –

+0

Mögliches Duplikat von [Zeige Eltern von nicht festgeschriebenem Merge in Git] (http://stackoverflow.com/questions/13590740/show-parents-of-uncommitted-merge-in-git) – max630

Antwort