web-dev-qa-db-fra.com

Qu'est-ce qu'un bon outil de fusion visuelle (gratuit) pour Git? (sur les fenêtres)

Un question similaire a déjà été demandé, mais pour Ubuntu.

Il serait utile de savoir si l’outil est gratuit comme dans la bière ou dans le liber.

En outre, il serait bon de connaître les hauts et les bas de l'outil.

145
Tal Galili

Sous Windows, il reste un bon outil de différenciation/fusion à 3 voies kdiff ( WinMerge , pour le moment, est toujours bidirectionnel, en attente de WinMerge3)

Voir " Comment fusionnez-vous dans GIT sous Windows? " et cette configuration .


Mise à jour 7 ans plus tard (août 2018): Artur Kędzior mentionne dans les commentaires :

Si vous utilisez Visual Studio (Community Edition est gratuit), essayez l'outil fourni avec: vsDiffMerge.exe . C'est vraiment génial et facile à utiliser.

70
VonC

J'ai aussi utilisé Meld . C'est écrit en python. Il existe un programme d'installation officiel pour Windows qui fonctionne bien.

Installez-le puis définissez-le comme votre outil de fusion par défaut.

$ git config --global merge.tool "meld"
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"

Si vous utilisez un client GUI GIT, essayez ce qui suit (instructions pour SourceTree, ajustez en conséquence)

  • Dans SourceTree, allez dans Outils/Options/Diff.
  • Dans External Diff Tool, choisissez Personnalisé.
  • Entrez C:\Program Files (x86)\Meld\meld.exe dans la commande Diff et $LOCAL $REMOTE dans les arguments.
  • Dans Merge Tool, choisissez Personnalisé.
  • Entrez C:\Program Files (x86)\Meld\meld.exe dans la commande Diff et $LOCAL $MERGED $REMOTE dans les arguments.
71
Gordolio

J'utilise P4Merge , c'est gratuit et multiplateforme.

P4Merge

27
Daniel Little

Je ne connais pas un bon outil gratuit mais winmerge est ok (ish) . J'utilise les outils incomparables depuis 1999 et je ne peux pas en dire assez - cela coûte environ 50 USD et cet investissement a permis de gagner du temps en gains de temps, plus que je ne pourrais l'imaginer.

Parfois, les outils doivent être payés s'ils sont vraiment très bons.

25
Preet Sangha
  • TortoiseMerge (une partie de ToroiseSVN) est bien meilleur que kdiff3 (j'utilise les deux et peut comparer );
  • p4merge (de Perforce) fonctionne également très bien;
  • Diffuser n'est pas si mal;
  • Diffmerge from SourceGear n'a qu'un seul défaut dans la gestion des fichiers UTF8 sans nomenclature, ce qui le rend inutilisable pour ce cas.
16
Lazy Badger

Une autre option gratuite est jmeld: http://keeskuip.home.xs4all.nl/jmeld/

C'est un outil Java et pourrait donc être utilisé sur plusieurs plates-formes.

Mais (comme Preet mentionné dans sa réponse), libre n'est pas toujours la meilleure option. Le meilleur outil de différenciation/fusion que je connaisse est Araxis Merge . L'édition standard est disponible au prix de 99 EUR, ce qui n'est pas beaucoup.

Ils fournissent également un documentation pour savoir comment intégrer Araxis à msysGit.

Si vous voulez vous en tenir à un outil gratuit, JMeld se rapproche beaucoup d'Araxis.

1
eckes