Question

Quel est le meilleur outil pour afficher et éditer une fusion dans Git? J'aimerais obtenir une vue de fusion à 3, avec & "Mien &", & "Leur "; et " ancêtre " dans des panneaux séparés et un quatrième " sortie " panneau.

De plus, des instructions pour invoquer ledit outil seraient très utiles. (Je n'ai toujours pas compris comment démarrer kdiff3 de manière à ne pas me tromper.)

Mon système d'exploitation est Ubuntu.

Était-ce utile?

La solution

La fusion est un outil de comparaison / fusion.

Voici comment l'installer sur:

Autres conseils

Vous pouvez configurer votre propre outil de fusion à utiliser avec " git mergetool ".

.

Exemple:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

Et pendant que vous y êtes, vous pouvez également le configurer comme votre difftool pour & "; git difftool &":

.
  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

Notez que sous Unix / Linux, vous ne voulez pas que $BASE soit analysé comme une variable par votre shell - il devrait en fait apparaître dans votre fichier ~ / .gitconfig pour que cela fonctionne.

Au-delà de la comparaison 3 , mon préféré a fusion de la fonctionnalité dans l'édition Pro . La bonne chose avec sa fusion est qu'il vous permet de voir les 4 vues: base, gauche, droite et résultat fusionné. C'est un peu moins visuel que P4V mais beaucoup plus que WinDiff. Il s'intègre à de nombreux contrôles de code source et fonctionne sous Windows / Linux. Il possède de nombreuses fonctionnalités telles que des règles avancées, des éditions, un alignement manuel ...

Le client visuel Perforce ( P4V ) est un outil gratuit fournissant l’une des interfaces les plus explicites pour la fusion (voir Quelques captures d'écran ). Fonctionne sur toutes les grandes plateformes. Ma principale déception avec cet outil est son genre de & «Lecture seule &»; interface . Vous ne pouvez pas modifier manuellement les fichiers et vous ne pouvez pas les aligner manuellement.

PS: P4Merge est inclus dans P4V. Perforce essaie de rendre un peu difficile d'obtenir leur outil sans leur client.

Le différentiel / fusion de SourceGear pourrait être mon deuxième gratuit choix de l'outil. Vérifiez que la capture d'écran est fusionnée et que vous verrez qu'il a 3 vues au moins.

Fusion est un outil gratuit plus récent que je préférerais SourceGear Diff / Merge : Désormais, il fonctionne également sur la plupart des plates-formes (Windows / Linux / Mac) avec l’avantage de prendre en charge de manière native un contrôle de source tel que Git . Ainsi, vous pouvez avoir une histoire beaucoup plus simple sur tous les fichiers. La vue de fusion (voir capture d'écran ) ne comporte que 3 volets, comme SourceGear Diff / Fusionner . Cela rend la fusion un peu plus difficile dans les cas complexes.

PS: si un outil permet la fusion de 5 vues , ce serait vraiment génial, car si vous sélectionnez des commits dans Git, vous ne disposez pas de deux bases. Deux bases, deux modifications et une fusion résultante.

Mon outil de fusion visuelle préféré est SourceGear DiffMerge

.
  • C'est gratuit.
  • Multiplate-forme (Windows, OS X et Linux).
  • Interface utilisateur visuelle propre
  • Toutes les fonctionnalités diff que vous attendez (Diff, Merge, Diff Folder).
  • Interface de ligne de commande.
  • Raccourcis clavier utilisables.

Interface utilisateur

J'entends de bonnes choses à propos de kdiff3.

vimdiff

Une fois que vous avez appris vim (et à mon humble avis vous devriez), vimdiff n’est plus qu’un beau petit concept orthogonal à apprendre. Pour obtenir de l'aide en ligne dans vim:

:help vimdiff 

Cette question explique comment l'utiliser: Comment puis-je utiliser vimdiff pour résoudre un conflit?

entrer la description de l'image ici

Si vous êtes coincé dans l'ère sombre de l'utilisation de la souris et que les fichiers que vous fusionnez ne sont pas très volumineux, je vous recommande de les mélanger.

Vous pouvez essayer P4Merge .

  

Visualisez les différences entre les versions de fichiers avec P4Merge. Résolvez les conflits résultant d'un développement parallèle ou simultané via un code de couleur.

Les fonctionnalités incluent:

  • Mettez en surbrillance et modifiez les différences de fichier texte
  • Choisissez d'inclure ou d'ignorer les fins de ligne ou les espaces
  • Reconnaître les conventions de fin de ligne pour Windows (CRLF), Mac (CR) et Unix (LF)
  • Utiliser les paramètres de ligne de commande et lancer à partir d'applications autres que Perforce
  • Afficher les numéros de ligne lors de la comparaison et de la fusion de fichiers
  • Exclure les fichiers modifiés, uniques ou inchangés
  • Filtrer les fichiers par nom ou par extension
  • Organisez les ressources modifiées dans une hiérarchie de fichiers / dossiers familière
  • Comparez les formats de fichier JPEG, GIF, TIFF, BMP et autres
  • Étendre à l'aide de l'API Qt
  • Superposer des images ou les afficher côte à côte
  • Soulignez les différences sur les images superposées

IntelliJ IDEA est doté d'un conflit de fusion outil de résolution avec la baguette magique Resolve, ce qui simplifie grandement la fusion:

 Source: https://blog.jetbrains.com/dotnet/2017/03/13/rider-eap-update-version-control-database-editor-improvements/

Diffuse est mon préféré mais, bien sûr, je suis partial. :-) Il est très facile à utiliser:

$ diffuse "mine" "output" "theirs"
  

Diffuse est un outil de fusion de texte petit et simple écrit en Python. Avec Diffuse, vous pouvez facilement fusionner, éditer et réviser les modifications apportées à votre code. Diffuse est un logiciel libre.

Araxis Merge http://www.araxis.com/merge Je l'utilise sous Mac OS X mais sous Windows ... ce n'est pas gratuit ... mais il y en a fonctionnalités intéressantes ... plus agréable sous Windows.

Si vous recherchez simplement un outil de différenciation sans comparaison, c’est plutôt bien: http: // www. scootersoftware.com/moreinfo.php

Vous pouvez changer l'outil utilisé par git mergetool en passant git mergetool -t=<tool> ou --tool=<tool>. Pour changer la valeur par défaut (depuis vimdiff), utilisez git config merge.tool <tool>.

Donc, pour la fusion de git, vous pouvez essayer:

  • DiffMerge pour comparer et fusionner visuellement des fichiers sous Windows, OS X et Linux.

     DiffMerge

  • Fusion , est un outil de différenciation et de fusion visuelles.

     La fusion est un outil de différenciation et de fusion visuel

  • KDiff3 , un programme de diff et de fusion), qui compare ou fusionne 2 ou 3 fichiers d'entrée de texte / dirs.
  • opendiff (partie de Xcode Tools 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 fusion .

J'ai essayé beaucoup d'outils mentionnés ici et aucun d'entre eux n'a été ce que je recherche.

Personnellement, j’ai trouvé Atom un excellent outil pour visualiser les différences et pour résoudre / fusionner les conflits. / p>

En ce qui concerne la fusion, il n’existe pas trois vues, mais elles sont toutes combinées en une vue en surbrillance colorée pour chaque version. Vous pouvez modifier le code directement ou utiliser des boutons pour utiliser la version de l'extrait de votre choix.

Je ne l'utilise même plus en tant qu'éditeur ou IDE, juste pour travailler avec git. Interface utilisateur propre et très simple, et en plus hautement personnalisable.

  • Vous pouvez le démarrer à partir de la ligne de commande et transmettre le fichier que vous souhaitez. ouvrez ou ajoutez votre dossier de projet (git repo).

    • Je recommanderais également gestionnaire de projet comme moyen très pratique de: naviguez entre les projets sans remplir votre arborescence.
  • Le seul problème que j'ai rencontré est l'actualisation: lorsque vous travaillez avec de grands référentiels, l'atome peut être lent pour mettre à jour les modifications que vous apportez en dehors de celui-ci. Je le ferme toujours quand j'ai fini, puis rouvre quand je veux voir mes modifications / commit à nouveau. Vous pouvez également recharger la fenêtre avec Ctrl + Maj + F5, ce qui ne prend qu'une seconde.

Et c'est gratuit bien sûr.

Vous pouvez installer l'outil de comparaison / différenciation ECMerge sur votre Linux, Mac ou Windows. Il est préconfiguré dans Git, il vous suffit donc d’utiliser git mergetool pour faire le travail.

J'utilise différents outils pour fusionner et comparer:

git config --global diff.tool diffuse
git config --global merge.tool kdiff3

Le poing pourrait être appelé par:

git difftool [BRANCH] -- [FILE or DIR]

Second est appelé lorsque vous utilisez git mergetool.

Si vous utilisez visual studio , l'outil intégré de Team Explorer est un très bon outil pour résoudre les conflits liés à la fusion de git.

gitx http://gitx.frim.nl/

Quelques bugs lorsqu’on travaille avec de grands ensembles de commit, mais très utile pour parcourir les modifications et choisir différentes modifications pour les étapes puis les commettre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top