Domanda

E 'possibile impostare Git in modo che posso usare il tre vie confronto in KDiff3?

Ho due rami che sono troppo diversi per l'auto-merge loro, ho semplicemente dovuto controllare ogni punto di fusione e penso che il modo migliore sarebbe quello di controllare il ramo che voglio le modifiche dal ramo e dire

git difftool HEAD_OF_OTHER_BRANCH -- .

E poi selezionare File unione in KDiff3. Dopo aver attraversato i file che avevo appena commesso.

Ho creato merge.conflictstyle e diff.conflictstyle a diff3 ma KDiff3 inizia sempre con un diff due vie. È possibile? Credo che se Git invia anche hash del antenato comune come parametro, questo è possibile, ma lo fa?

su come fare questo con SVN e BC3, ma non ho trovato nulla per Git e KDiff3.

È stato utile?

Soluzione

Sembra che git diff fare solo un diff a 2 vie (che ha senso per generare cerotto etc) tranne che in uno stato di fusione, si deve fare un merge per questo. Io ero in una situazione simile l'altro giorno e ho finito per mergin utilizzando la strategia ours. Che ha funzionato, ma non era ideale. Forse abbiamo bisogno di una strategia 'nonresolve' la fusione, che non cerca di risolvere eventuali conflitti. Potreste essere in grado di emulare che modificando i / MERGE_ file * .git e impostare tutti i file come in conflitto.
In caso contrario, la soluzione più ovvia è quella di cassa 3 directory diversa e KDiff3 correre, ma credo che siete alla ricerca di una soluzione più elegante

Altri suggerimenti

Esegui questo sulla riga di comando:

git config --global mergetool.kdiff3.path /path/for/your/kdiff3/binary  

Poi, quando risolvere i conflitti si hanno solo a che fare:

git mergetool --tool=kdiff3
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top