Quel est le meilleur outil pour afficher et modifier une fusion dans Git? Je voudrais obtenir une vue de fusion à 3 voies, avec "la mienne", "la leur" et "l'ancêtre" dans des panneaux séparés, et un quatrième panneau "sortie".
De plus, des instructions pour invoquer ledit outil seraient formidables. (Je n'ai toujours pas compris comment démarrer kdiff3 de telle manière qu'il ne me donne pas d'erreur.)
Mon système d'exploitation est Ubuntu.
git
version-control
merge
Andy
la source
la source
Réponses:
Meld est un outil de diff / fusion gratuit, open-source et multiplateforme (UNIX / Linux, OSX, Windows).
Voici comment l'installer sur:
la source
meld
est fastidieux avec des différences complexes, pouvoir sélectionner des options commechose b for all unresolved conflicts
est bien mieux que d'avoir à cliquer manuellement sur la bonne flèche pour chaque morceaumeld
. De plus, la possibilité de fusionner dans un fichier de sortie spécifique plutôt que de modifier les fichiers d'entrée en place est inestimable pour se retirer des nerges défaillants.Vous pouvez configurer votre propre outil de fusion à utiliser avec "
git mergetool
".Exemple:
Et pendant que vous y êtes, vous pouvez également le configurer comme votre outil de diff pour "
git difftool
":Notez que sous Unix / Linux, vous ne voulez pas que le
$BASE
soit analysé en tant que variable par votre shell - il devrait en fait apparaître dans votre fichier ~ / .gitconfig pour que cela fonctionne.la source
Beyond Compare 3 , mon préféré, a unefonctionnalité de fusion dans l' édition Pro . La bonne chose avec sa fusion est qu'il vous permet de voir les 4 vues: résultat de base, gauche, droite et fusionné. C'est un peu moins visuel que P4V mais bien plus que WinDiff. Il s'intègre à de nombreux contrôles de source et fonctionne sous Windows / Linux. Il possède de nombreuses fonctionnalités comme les règles avancées, les éditions, l'alignement manuel ...
Perforce Visual Client ( P4V ) est un outil gratuit qui fournit l'une des interfaces les plus explicites pour la fusion (voir quelques captures d'écran ). Fonctionne sur toutes les principales plateformes. Ma principale déception avec cet outil est son type d' interface "en lecture seule" . Vous ne pouvez pas modifier manuellement les fichiers et vous ne pouvez pas aligner manuellement.
PS: P4Merge est inclus dans P4V. Perforce essaie de rendre un peu difficile l'obtention de son outil sans son client.
SourceGear Diff / Merge peut être mon deuxième choix d'outil gratuit. Vérifiez que la capture d' écran de fusionet vous verrez qu'il a au moins les 3 vues.
Meld est un outil gratuit plus récent que je préférerais à SourceGear Diff / Merge : maintenant, il fonctionne également sur la plupart des plates-formes (Windows / Linux / Mac) avec l'avantage distinct de prendre en charge nativement certains contrôles de source comme Git . Ainsi, vous pouvez avoir un historique différent sur tous les fichiers beaucoup plus simple. La vue de fusion (voir capture d'écran ) n'a que 3 volets, tout comme SourceGear Diff / Merge . Cela rend la fusion un peu plus difficile dans les cas complexes.
PS: Si un outil prend en charge un jour la fusion de 5 vues , ce serait vraiment génial, parce que si vous choisissez les commits dans Git, vous n'avez vraiment pas une base mais deux. Deux bases, deux modifications et une fusion résultante.
la source
J'entends de bonnes choses sur kdiff3.
la source
kdiff3
a beaucoup plus de fonctionnalités maismeld
a une meilleure interface utilisateur. À mon avis,meld
c'est mieux pour des fusions faciles où les fonctionnalités fournies parmeld
sont suffisantes. N'oubliez pas d'essayerdiffuse
aussi.Mon outil de fusion visuel préféré est SourceGear DiffMerge
la source
vimdiff
Une fois que vous avez appris vim (et à mon humble avis vous devriez), vimdiff n'est plus qu'un petit concept orthogonal de plus à apprendre. Pour obtenir de l'aide en ligne dans vim:
Cette question explique comment l'utiliser: comment utiliser vimdiff pour résoudre un conflit?
Si vous êtes coincé dans les âges sombres de l'utilisation de la souris et que les fichiers que vous fusionnez ne sont pas très volumineux, je recommande de les fusionner.
la source
Vous pouvez essayer P4Merge .
Les fonctionnalités comprennent:
la source
IntelliJ IDEA dispose d'un outil sophistiqué de résolution des conflits de fusion avec la baguette magique Resolve, qui simplifie considérablement la fusion:
la source
Diffuse est mon préféré mais bien sûr je suis partisan. :-) Il est très simple d'utilisation:
la source
diffuse
c'est très joli. Je viens de l'essayer maintenant et ça a fait mieux que de différerkdiff3
. Mais j'essaie de l'utiliser avecgit mergetool
et il ouvre 4 fichiers côte à côte (local, résultat de la fusion, distant, base), et mon écran n'est pas assez large pour cela. J'ai dû faire beaucoup de défilement horizontal. kdiff3 n'affiche que 3 côte à côte et le résultat sur la moitié inférieure de la fenêtre.Araxis Merge http://www.araxis.com/merge Je l'utilise sur Mac OS X mais je l'ai utilisé sur Windows ... ce n'est pas gratuit ... mais il a de belles fonctionnalités ... plus agréable sur fenêtres cependant.
la source
Vous pouvez changer l'outil utilisé par git mergetool en passant
git mergetool -t=<tool>
ou--tool=<tool>
. Pour modifier la valeur par défaut (depuis vimdiff), utilisezgit config merge.tool <tool>
.la source
Si vous cherchez juste un outil de comparaison incomparable, c'est plutôt sympa: http://www.scootersoftware.com/moreinfo.php
la source
Donc, pour la fusion git, vous pouvez essayer:
DiffMerge pour comparer visuellement et fusionner des fichiers sur Windows, OS X et Linux.
Meld , est un outil de diff et de fusion visuel.
opendiff
(partie des outils Xcode sur macOS), un utilitaire de ligne de commande qui lance l'application FileMerge à partir de Terminal pour comparer graphiquement des fichiers ou des répertoires, y compris la fusion .la source
git config --global merge.tool opendiff
a fonctionné le mieux pour moiJ'ai essayé beaucoup des outils mentionnés ici et aucun d'entre eux n'a été tout à fait ce que je cherchais.
Personnellement, j'ai trouvé qu'Atom était un excellent outil pour visualiser les différences et la résolution / fusion de conflits.
En ce qui concerne la fusion, il n'y a pas trois vues, mais elles sont toutes combinées en une seule avec une surbrillance colorée pour chaque version. Vous pouvez modifier le code directement ou il existe des boutons pour utiliser la version de l'extrait de code que vous souhaitez.
Je ne l'utilise même plus comme éditeur ou IDE, juste pour travailler avec git. Interface utilisateur claire et très simple, en plus, elle est hautement personnalisable.
Vous pouvez le démarrer à partir de la ligne de commande et passer dans un seul fichier que vous souhaitez ouvrir, ou ajouter votre dossier de projet (git repo).
Le seul problème que j'ai eu est rafraîchissant - lorsque vous travaillez avec de grands référentiels, l'atome peut être lent à mettre à jour les modifications que vous effectuez en dehors de celui-ci. Je le ferme toujours lorsque j'ai terminé, puis je le rouvre lorsque je souhaite afficher à nouveau mes modifications / validation. Vous pouvez également recharger la fenêtre avec ctrl + shift + f5, ce qui ne prend qu'une seconde.
Et c'est gratuit bien sûr.
la source
J'utilise différents outils pour fusionner et comparer:
Le poing pourrait être appelé par:
Le second est appelé lorsque vous utilisez
git mergetool
.la source
Vous pouvez installer l' outil de diff / fusion ECMerge sur votre Linux, Mac ou Windows. Il est préconfiguré dans Git, donc il suffit d'utiliser
git mergetool
pour faire le travail.la source
Si vous utilisez Visual Studio , l'outil intégré de Team Explorer est un très bon outil pour résoudre les conflits de fusion Git.
la source
gitx http://gitx.frim.nl/
Quelques bogues lors de l'utilisation de grands ensembles de validations, mais parfait pour parcourir les modifications et choisir les différentes modifications à effectuer, puis valider.
la source