Was ist das beste Tool zum Anzeigen und Bearbeiten einer Zusammenführung in Git? Ich möchte eine 3-Wege-Zusammenführungsansicht mit "meiner", "ihrer" und "Vorfahr" in separaten Feldern und einem vierten "Ausgabe" -Feld erhalten.
Anweisungen zum Aufrufen des Tools wären ebenfalls hilfreich. (Ich habe immer noch nicht herausgefunden, wie ich kdiff3 so starten soll, dass ich keinen Fehler bekomme.)
Mein Betriebssystem ist Ubuntu.
git
version-control
merge
Andy
quelle
quelle
Antworten:
Meld ist ein kostenloses Open-Source- und plattformübergreifendes Diff / Merge-Tool (UNIX / Linux, OSX, Windows).
So installieren Sie es:
quelle
meld
ist mit komplexen Unterschieden mühsam, Optionen wie auswählen zu könnenchose b for all unresolved conflicts
ist viel besser, als manuell auf den richtigen Pfeil für jedes Stück klicken zu müssenmeld
. Außerdem ist es von unschätzbarem Wert, in einer bestimmten Ausgabedatei zusammengeführt zu werden, anstatt die vorhandenen Eingabedateien zu bearbeiten, um fehlgeschlagene Fehler zu vermeiden.Sie können Ihr eigenes Zusammenführungstool für die Verwendung mit "
git mergetool
" konfigurieren .Beispiel:
Und wenn Sie schon dabei sind, können Sie es auch als Difftool für "
git difftool
" einrichten :Beachten Sie, dass Sie unter Unix / Linux nicht möchten, dass das
$BASE
von Ihrer Shell als Variable analysiert wird - es sollte tatsächlich in Ihrer ~ / .gitconfig-Datei erscheinen, damit dies funktioniert.quelle
Beyond Compare 3 , mein Favorit, verfügt über eine Zusammenführungsfunktion in der Pro Edition . Das Gute an der Zusammenführung ist, dass Sie alle 4 Ansichten sehen können: Basis, links, rechts und zusammengeführtes Ergebnis. Es ist etwas weniger visuell als P4V, aber viel mehr als WinDiff. Es lässt sich in viele Quellcodeverwaltungen integrieren und funktioniert unter Windows / Linux. Es hat viele Funktionen wie erweiterte Regeln, Editionen, manuelle Ausrichtung ...
Der Perforce Visual Client ( P4V ) ist ein kostenloses Tool, das eine der explizitesten Schnittstellen zum Zusammenführen bietet (siehe einige Screenshots ). Funktioniert auf allen wichtigen Plattformen. Meine größte Enttäuschung mit diesem Tool ist die Art der schreibgeschützten Benutzeroberfläche . Sie können die Dateien nicht manuell bearbeiten und nicht manuell ausrichten.
PS: P4Merge ist in P4V enthalten. Perforce versucht, es ein bisschen schwierig zu machen, ihr Tool ohne ihren Client zu bekommen.
SourceGear Diff / Merge ist möglicherweise meine zweite kostenlose Tool-Wahl. Überprüfendass Merge - Bildschirme-shot und Sie werden sehenes ist hat die 3 Ansichten zumindest.
Meld ist ein neueres kostenloses Tool, das ich SourceGear Diff / Merge vorziehen würde: Jetzt funktioniert es auch auf den meisten Plattformen (Windows / Linux / Mac) mit dem entscheidenden Vorteil, dass einige Quellcodeverwaltungen wie Git nativ unterstützt werden. So können Sie einige Verlaufsunterschiede bei allen Dateien viel einfacher haben. Die Zusammenführungsansicht (siehe Screenshot ) hat nur 3 Fenster , genau wie SourceGear Diff / Merge . Dies macht das Zusammenführen in komplexen Fällen etwas schwieriger.
PS: Wenn ein Tool eines Tages das Zusammenführen von 5 Ansichten unterstützt , wäre dies wirklich fantastisch, denn wenn Sie Commits in Git auswählen, haben Sie wirklich nicht eine Basis, sondern zwei. Zwei Basen, zwei Änderungen und eine resultierende Zusammenführung.
quelle
Ich höre gute Dinge über kdiff3.
quelle
kdiff3
hat viel mehr Funktionen, abermeld
eine bessere Benutzeroberfläche. Meiner Meinung nachmeld
ist es besser für einfache Zusammenführungen, bei denen die von bereitgestellten Funktionenmeld
ausreichen. Denken Sie auch darandiffuse
, es zu versuchen .Mein bevorzugtes visuelles Zusammenführungswerkzeug ist SourceGear DiffMerge
quelle
vimdiff
Sobald Sie vim gelernt haben (und IMHO sollten Sie), ist vimdiff nur ein weiteres schönes kleines orthogonales Konzept zum Lernen. So erhalten Sie Online-Hilfe in vim:
Diese Frage behandelt die Verwendung: Wie verwende ich vimdiff, um einen Konflikt zu lösen?
Wenn Sie im dunklen Zeitalter der Mausnutzung stecken bleiben und die Dateien, die Sie zusammenführen, nicht sehr groß sind, empfehle ich das Verschmelzen.
quelle
Sie können P4Merge ausprobieren .
Die Funktionen umfassen:
quelle
IntelliJ IDEA verfügt über ein ausgeklügeltes Tool zur Lösung von Zusammenführungskonflikten mit dem Zauberstab "Auflösen", das das Zusammenführen erheblich vereinfacht:
quelle
Diffus ist mein Favorit, aber natürlich bin ich voreingenommen. :-) Es ist sehr einfach zu bedienen:
quelle
diffuse
sieht sehr gut aus. Ich habe es gerade versucht und es war besser anders alskdiff3
. Aber ich versuche es mit zu verwendengit mergetool
und es öffnet 4 Dateien nebeneinander (lokal, Zusammenführungsergebnis, Remote, Basis), und mein Bildschirm ist dafür nicht breit genug. Ich musste viel horizontal scrollen. kdiff3 zeigt nur 3 nebeneinander und das Ergebnis in der unteren Hälfte des Fensters.Araxis Merge http://www.araxis.com/merge Ich verwende es unter Mac OS X, aber ich habe es unter Windows verwendet ... es ist nicht kostenlos ... aber es hat einige nette Funktionen ... schöner Fenster aber.
quelle
Sie können das von git mergetool verwendete Tool durch Übergeben von
git mergetool -t=<tool>
oder ändern--tool=<tool>
. Verwenden Sie zum Ändern der Standardeinstellung (von vimdiff)git config merge.tool <tool>
.quelle
Wenn Sie nur nach einem unvergleichlichen Diff-Tool suchen, ist es ziemlich nett: http://www.scootersoftware.com/moreinfo.php
quelle
Für die Git-Zusammenführung können Sie also Folgendes versuchen:
DiffMerge zum visuellen Vergleichen und Zusammenführen von Dateien unter Windows, OS X und Linux.
Meld ist ein visuelles Diff- und Merge-Tool.
opendiff
(Teil von Xcode Tools unter macOS), ein Befehlszeilenprogramm, das die FileMerge-Anwendung vom Terminal aus startet, um Dateien oder Verzeichnisse einschließlich des Zusammenführens grafisch zu vergleichen .quelle
git config --global merge.tool opendiff
hat am besten für mich funktioniertIch habe viele der hier genannten Tools ausprobiert und keines davon war genau das, wonach ich suche.
Persönlich habe ich Atom gefunden ein großartiges Werkzeug zur Visualisierung von Unterschieden und zur Lösung / Zusammenführung von Konflikten ist.
Beim Zusammenführen gibt es nicht drei Ansichten, aber alles wird zu einer mit farbiger Hervorhebung für jede Version kombiniert. Sie können den Code direkt bearbeiten oder es gibt Schaltflächen, mit denen Sie die gewünschte Version des Snippets verwenden können.
Ich benutze es nicht einmal mehr als Editor oder IDE, nur um mit Git zu arbeiten. Saubere Benutzeroberfläche und sehr einfach, und es ist sehr anpassbar.
Sie können es über die Befehlszeile starten und eine einzelne Datei übergeben, in die Sie öffnen möchten, oder Ihren Projektordner hinzufügen (git repo).
Das einzige Problem, das ich hatte, ist das Aktualisieren. Wenn Sie mit großen Repositorys arbeiten, kann es langsam sein, dass Atom Änderungen aktualisiert, die Sie außerhalb davon vornehmen. Ich schließe es einfach immer, wenn ich fertig bin, und öffne es dann erneut, wenn ich meine Änderungen / Commits erneut anzeigen möchte. Sie können das Fenster auch mit Strg + Umschalt + F5 neu laden, was nur eine Sekunde dauert.
Und es ist natürlich kostenlos.
quelle
Ich benutze verschiedene Tools zum Zusammenführen und Vergleichen:
Faust könnte gerufen werden durch:
Zweitens wird aufgerufen, wenn Sie verwenden
git mergetool
.quelle
Sie können das ECMerge Diff / Merge-Tool auf Ihrem Linux, Mac oder Windows installieren . Es ist in Git vorkonfiguriert, so dass nur die Verwendung
git mergetool
den Job erledigt.quelle
Wenn Sie Visual Studio verwenden , ist das in Team Explorer integrierte Tool ein sehr nützliches Tool zum Lösen von Git-Merge-Konflikten.
quelle
gitx http://gitx.frim.nl/
Einige Fehler beim Arbeiten mit großen Festschreibungssätzen, aber ideal zum Durchsuchen von Änderungen und Auswählen verschiedener Änderungen für die Phase und anschließendes Festschreiben.
quelle