Question

Est-il possible de définir Git pour que je puisse utiliser trois voies comparer à KDiff3?

J'ai deux branches qui sont beaucoup trop différents pour les auto-fusion, je dois simplement vérifier chaque point de fusion et je pense que la meilleure façon serait de vérifier la branche que je veux que les changements de l'autre branche et dire

git difftool HEAD_OF_OTHER_BRANCH -- .

Et puis sélectionnez Fichier de fusion dans KDiff3. Après avoir traversé les fichiers que je venais de commettre.

J'ai mis en place merge.conflictstyle et diff.conflictstyle à diff3 mais KDiff3 commence toujours avec un diff deux sens. Est-ce possible? Je suppose que si Git envoie également le hachage de l'ancêtre commun en tant que paramètre, cela est possible, mais est-ce?

Il y a sur la façon de le faire avec SVN et BC3, mais je ne pouvais pas trouver quoi que ce soit pour Git et KDiff3.

Était-ce utile?

La solution

Il semble que git diff ne seulement diff 2 voies (qui font sens pour générer timbre, etc.), sauf dans un état de fusion, vous devez faire une fusion pour cela. J'étais dans une situation similaire, l'autre jour et je fini par mergin en utilisant la stratégie de ours. Cela a fonctionné mais n'a pas été idéal. Peut-être que nous avons besoin d'une stratégie de fusion « nonresolve » qui ne cherche pas à résoudre les conflits. Vous pourriez être en mesure d'imiter ce en modifiant légèrement les .git / MERGE_ * fichiers et définir tous les fichiers comme conflictuel.
Sinon, la solution évidente est à la caisse 3 répertoire différent et exécuter kdiff3, mais je suppose que vous êtes à la recherche d'une solution plus élégante

Autres conseils

exécuter sur la ligne de commande:

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

Ensuite, lors de la résolution des conflits il vous suffit de le faire:

git mergetool --tool=kdiff3
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top