Was ist ein gutes (kostenloses) Tool zum visuellen Zusammenführen für Git? (an Fenstern) [geschlossen]

154

Eine ähnliche Frage wurde bereits gestellt, aber für Ubuntu.

Es wäre hilfreich zu wissen, ob das Tool wie in Bier oder in Liber kostenlos ist.

Auch das Auf und Ab des Tools wäre schön zu wissen.

Tal Galili
quelle

Antworten:

72

Unter Windows bleibt ein gutes 3-Wege-Diff / Merge-Tool kdiff3 ( WinMerge ist derzeit noch 2-Wege-basiert, bis WinMerge3 ansteht).

Siehe " Wie füge ich GIT unter Windows zusammen? " Und diese Konfiguration .


Update 7 Jahre später (August 2018): Artur Kędzior erwähnt in den Kommentaren :

Wenn Sie Visual Studio verwenden (Community Edition ist kostenlos), probieren Sie das mitgelieferte Tool aus : vsDiffMerge.exe. Es ist wirklich großartig und einfach zu bedienen.

VonC
quelle
1
Trotz der Bevorzugung von BC werde ich dieses Tool ausprobieren.
Preet Sangha
3
@Preet: BC bleibt das Beste;) Aber für ein kostenloses Tool (Multi-Plattform) ist kdiff3 nicht schlecht.
VonC
aber es ist definitiv auch nicht so gut :) Ich finde es einfacher, meinen regulären Code-Editor zu verwenden.
Warpzit
1
@ Warpzit Ich stimme zu, dass es eine gewisse Lernkurve gibt, aber ich bin jetzt daran
gewöhnt
1
@ ArturKędzior Danke. Ich habe Ihren Kommentar zur besseren Sichtbarkeit in die Antwort aufgenommen.
VonC
72

Ich habe auch Meld verwendet . Es ist in Python geschrieben. Es gibt ein offizielles Installationsprogramm für Windows, das gut funktioniert.

Installieren Sie es und legen Sie es dann als Standard-Mergetool fest.

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

Wenn Sie einen GUI GIT-Client verwenden, versuchen Sie Folgendes (Anweisungen für SourceTree, entsprechend anpassen)

  • Gehen Sie in SourceTree zu Extras / Optionen / Diff
  • In External Diff Tool, wählen Sie Benutzerdefinierte
  • Geben Sie C:\Program Files (x86)\Meld\meld.exein Diff Command und $LOCAL $REMOTEin Arguments ein
  • In Merge Tool, wählen Sie Benutzerdefinierte
  • Geben Sie C:\Program Files (x86)\Meld\meld.exein Diff Command und $LOCAL $MERGED $REMOTEin Arguments ein
Gordolio
quelle
9
Danke, Meld ist wirklich nett :) Es ist wirklich klar und leicht zu sehen, was los ist. Vielen Dank, dass Sie die Installationsanweisungen veröffentlicht haben. Ohne diese wäre ich verloren gegangen.
Daniel Tonon
5
Wenn Sie Cygwin / Babun verwenden, ersetzen Sie die 2. Option durch:git config --global mergetool.meld.path "/cygdrive/c/Program Files (x86)/Meld/Meld.exe"
TempestSA
1
+1 für die Git-Konfiguration, ich habe es mit P4Merge unten verwendet:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Mark C
@ Gordonolio, gibt es eine "einfache" oder "niedrig aufgelöste" Benutzeroberfläche zum Verschmelzen? Die Grafik ist etwas zu schön, was bei riesigen Dateien völlig verstopft.
Pacerier
1
Ich habe Meld ausprobiert und es war gut, mit ein paar schönen Bildern, aber am Ende habe ich mich für Beyond Compare entschieden, mit Bezahlung, und war sehr glücklich. Ein Minuspunkt von Meld ist, dass die Schaltflächen keine Mouseover-Beschreibungen enthalten. Ein anderes - Beyond Compare bietet Schaltflächen, mit denen Sie von einem Unterschied zum nächsten wechseln können. Another - Beyond Compare zeigt die Dateipfade in den Titelleisten des Fensters an. Meld war sicherlich "gut genug", aber ich würde lieber für Beyond Compare bezahlen. (Und ich bin nicht mit Beyond Compare verbunden).
Stephen Hosking
28

Ich habe P4Merge verwendet , es ist kostenlos und plattformübergreifend.

P4Merge

Daniel Little
quelle
1
Ist das noch kostenlos? Es scheint überhaupt nicht frei zu sein.
null_pointer
4
Ja, immer noch 100% kostenlos, aber ihre Download-Seite verbirgt es ein wenig.
Daniel Little
8
Es ist kostenlos, wie Daniel sagte, aber wenn Sie das Installationsprogramm ausführen, müssen Sie alle Optionen außer dem "Visual Merge Tool" deaktivieren. Andernfalls werden Sie aufgefordert, eine Verbindung zu einem Perforce-Server herzustellen. Funktioniert hervorragend mit SourceTree.
John
11
Nach der Installation als Mergetool konfigurieren mit:git config --global merge.tool "p4merge" && git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
Mark C
1
Der Versuch, herauszufinden, wie die Windows-Version von p4merge über Ihren Link heruntergeladen werden kann, scheint eine ziemliche Aufgabe zu sein. Es gibt keinen eindeutigen Download-Link, den ich sehen kann.
Artif3x
25

Ich kenne kein gutes kostenloses Tool, aber Winmerge ist in Ordnung (ish) . Ich verwende seit 1999 die Beyond-Compare- Tools und kann sie nicht genug bewerten - sie kosten etwa 50 USD und diese Investition hat sich mehr Zeit gespart, als ich mir vorstellen kann.

Manchmal sollten Werkzeuge bezahlt werden, wenn sie sehr, sehr gut sind.

Preet Sangha
quelle
5
+1 für die Erwähnung bezahlter Optionen.
eckes
1
Winmerge ist mies. Die Benutzeroberfläche macht es schwierig, links von rechts zu unterscheiden.
Pacerier
1
Ich habe WinMerge jahrelang benutzt und finde es großartig. Dann wechselte ich zur Versionskontrolle zu git und brauchte eine GUI für den Versionsvergleich. Zuerst habe ich Meld für ausprobiert und fand es gut, aber ohne Funktionen. Beyond Compare hat es für mich gelöst und ich bin sehr glücklich, dafür zu bezahlen.
Stephen Hosking
16
  • TortoiseMerge (Teil von ToroiseSVN) ist viel besser als kdiff3 (ich benutze beide und kann vergleichen );
  • p4merge (von Perforce) funktioniert auch sehr gut;
  • Diffus ist nicht so schlimm;
  • Diffmerge from SourceGear weist nur einen Fehler bei der Verarbeitung von UTF8-Dateien ohne Stückliste auf, wodurch es für diesen Fall unbrauchbar wird.
Fauler Dachs
quelle
TortoiseGitMerge ist eigentlich ziemlich gut - ich kenne kdiff3 nicht, war aber noch nie unglücklich oder habe etwas in TortoiseGitMerge verpasst. Dadurch kann ich zwei- und dreifache Zusammenführungen sehr schnell und intuitiv durchführen.
mindplay.dk
@ mindplay.dk - TortoiseGitMerge ist (meistens) der alte TortoiseMerge unter der Haube
Lazy Badger
TortoiseMerge unterstützt dir-diff nicht
andrew.rockwell
1

Eine weitere kostenlose Option ist jmeld: http://keeskuip.home.xs4all.nl/jmeld/

Es ist ein Java-Tool und kann daher auf mehreren Plattformen verwendet werden.

Aber (wie Preet in seiner Antwort erwähnt hat) ist kostenlos nicht immer die beste Option. Das beste Diff / Merge-Tool, auf das ich jemals gestoßen bin, ist Araxis Merge . Die Standard Edition ist für 99 EUR erhältlich, was nicht so viel ist.

Sie enthalten auch eine Dokumentation zur Integration von Araxis in msysGit.

Wenn Sie sich an ein kostenloses Tool halten möchten, kommt JMeld Araxis ziemlich nahe.

eckes
quelle
Ich habe auch viele gute Dinge über Araxis gehört.
Preet Sangha
-1

Was ist falsch an der Verwendung von Git für Windows? In der Repo-Ansicht gibt es ein Symbol für den Zweig, in dem Sie sich befinden (oben). Wenn Sie auf "Verwalten" klicken, können Sie auf sehr visuelle und bequeme Weise ziehen und ablegen.

user1553825
quelle
7
Ich denke, die Frage war nach der Lösung von Zusammenführungskonflikten.
Leif Gruenwoldt