2015-11-12 12 views
6

Dire, mi è stato presentato un conflitto di unione e sono riuscito a risolverlo, ma non ho contrassegnato come risolto (cioè non ho ancora fatto i file in conflitto git add). A questo punto, posso fare git diff e mi verrà mostrato come il file risultante differisce da ciascun genitore, in un formato diff combinato.Visualizza git diff dai singoli genitori

Tutto bene finora. Ora volevo esaminare separatamente in che modo il file risultante differisce dal genitore singolo. Certo, per un conflitto di conflitto che coinvolge 2 genitori (cherry-pick, rebase ecc.), Posso usare git diff --ours o git diff --theirs, ma come estenderlo a più genitori?

In altre parole, se ottengo conflitto da 3 genitori, è possibile visualizzare le differenze individuali con ciascun genitore?

Inoltre, la mia scoperta di --ours e --theirs era piuttosto fortunata; Non sono riuscito a trovare il loro utilizzo documentato in un contesto diff.

+4

Si potrebbe 'diff' un albero di lavoro con una particolare impegnarsi nel repository. Questo è abbastanza per te? – user3159253

+1

Se il file è ancora contrassegnato come "C (conflittuale)" potrebbe essere necessario "git resettare" manualmente, e quindi si può 'git diff 'esso con qualsiasi versione desiderata. –

+0

Possibile duplicato di [Mostra genitori di unione non salvata in git] (http://stackoverflow.com/questions/13590740/show-parents-of-uncommitted-merge-in-git) – max630

risposta