Funktionsleitfaden macOSWindows

Drei Versionen zusammenführen und Konfliktmarkierungen in einem Fenster lösen

Mit Pro können Sie drei Versionen einer Datei in einem Fenster zusammenführen und dort jeden Konflikt lösen. JSON-, YAML-, TOML- und INI-Dateien werden anhand ihrer Daten, Wert für Wert, zusammengeführt, wobei die Kommentare und Formatierungen Ihrer Seite beibehalten werden. Konflikte treten nur dann auf, wenn beide Seiten denselben Wert unterschiedlich geändert haben. Eine Datei, die bereits Konfliktmarkierungen von Git, Mercurial oder Subversion enthält, zeigt an, wie viele Konflikte sie enthält; Bei Pro öffnet Resolve sie im Zusammenführungsarbeitsbereich und die aufgelöste Datei wird in ihrer eigenen Kodierung und ihren eigenen Zeilenenden gespeichert. Auf Windows öffnet git mergetool jede in Konflikt stehende Datei im Zusammenführungsfenster von Diff Anything und wartet auf „Speichern und Schließen“.

Funktionsübersicht

Wie kann ich das Three-Way-Merge- und Git-Merge-Tool in Diff Anything verwenden?

Mit Pro können Sie drei Versionen einer Datei in einem Fenster zusammenführen und dort jeden Konflikt lösen. JSON-, YAML-, TOML- und INI-Dateien werden anhand ihrer Daten, Wert für Wert, zusammengeführt, wobei die Kommentare und Formatierungen Ihrer Seite beibehalten werden. Konflikte treten nur dann auf, wenn beide Seiten denselben Wert unterschiedlich geändert haben. Eine Datei, die bereits Konfliktmarkierungen von Git, Mercurial oder Subversion enthält, zeigt an, wie viele Konflikte sie enthält; Bei Pro öffnet Resolve sie im Zusammenführungsarbeitsbereich und die aufgelöste Datei wird in ihrer eigenen Kodierung und ihren eigenen Zeilenenden gespeichert. Auf Windows öffnet git mergetool jede in Konflikt stehende Datei im Zusammenführungsfenster von Diff Anything und wartet auf „Speichern und Schließen“.

Das Anzeigen der Konflikte in einer Datei ist kostenlos. Um sie zu lösen, sind der Zusammenführungsarbeitsbereich, der Zusammenführungstreiber und das Zusammenführungstool Teil von Pro.

Das Zusammenführungstool funktioniert auch mit Mercurial, Subversion, Perforce und TFVC auf Windows. Die Mac App Store-Version läuft in Apples App Sandbox und kann nicht als Merge-Tool von einem Versionskontrollsystem gestartet werden; Öffnen Sie auf einem Mac die Konfliktdatei in der App und wählen Sie „Auflösen“.

Diff Anything Drei-Wege-Zusammenführungsarbeitsbereich, der „Unsere“ und „Ihre“ gegenüber der Basis mit einem ungelösten Konflikt zeigt
Vergleichen Sie mit Pro jede Seite mit Base, fokussieren Sie geänderte Linien, navigieren Sie durch Konflikte und bearbeiten Sie das zusammengeführte Ergebnis in einem Arbeitsbereich. Vollbild anzeigen

Der Zusammenführungsarbeitsbereich

Drei Versionen, ein Ergebnis, das Sie bearbeiten können

Für eine Zusammenführung sind drei Versionen erforderlich: das gemeinsame Original (Basis), Ihre Version (Unsere) und die andere Version (Ihre). Platzieren Sie „Unsere“ links und „Ihre“ rechts, öffnen Sie „Extras“, wählen Sie „Drei-Wege-Zusammenführung“ und wählen Sie „Basis“ aus oder fügen Sie sie ein. Änderungen, die nur auf einer Seite vorgenommen werden, werden automatisch kombiniert, ebenso wie Änderungen an einzelnen Wörtern derselben Zeile. Alles andere wird zu einem Konflikt, den Sie entscheiden.

Gehen Sie die Konflikte durch und wählen Sie „Unsere akzeptieren“, „Ihre akzeptieren“, „Unsere dann ihre“, „Ihre dann unsere“ oder „Basis verwenden“ oder bearbeiten Sie das Ergebnis direkt. Das Bedienfeld „Änderungen“ zeigt jede Seite im Vergleich zur Basis an, und das Ergebnis behält die Syntaxhervorhebung der Datei bei.

Datendateien zusammenführen

JSON, YAML, TOML und INI führen Wert für Wert zusammen

Zwei Personen, die unterschiedliche Einstellungen derselben Konfigurationsdatei bearbeiten, berühren häufig benachbarte Zeilen, und eine Zeilenzusammenführung meldet einen Konflikt, obwohl keiner vorhanden ist. Diff Anything führt stattdessen JSON-, YAML-, TOML- und INI-Dateien nach ihren Daten zusammen: Ein Wert, der nur auf einer Seite geändert wurde, übernimmt diese Änderung, wo immer sie ist, ein Wert, der auf beiden Seiten gleichermaßen geändert wurde, wird einmal übernommen, und nur ein Wert, der auf beiden Seiten unterschiedlich geändert wurde, ist ein Konflikt, der durch seinen Pfad benannt wird, z. B. $.server.port.

Listen von Datensätzen mit einer ID, _id, uuid oder einem Schlüsselfeld, das Datensatz für Datensatz zusammenführt. Schlüsselreihenfolge, Einrückung und Anführungszeichen stehen niemals im Konflikt. Das Ergebnis wird in den Text Ihrer Seite geschrieben, sodass seine Kommentare und Formatierungen erhalten bleiben, und im Arbeitsbereich wird angegeben, wie es zusammengeführt wurde, zum Beispiel „Nach Daten zusammengeführt: 3 Änderungen von uns und 1 Änderung von ihnen; 1 Konflikt bei $.server.port“. Durch Daten zusammenführen wird auf die Zeilenzusammenführung umgeschaltet, und eine Datei, deren Format nicht gültig ist, wird zeilenweise zusammengeführt, mit Angabe des Grundes.

Konfliktmarker

Auflösen einer Datei, die Git bereits markiert hat

Wenn Git, Mercurial oder Subversion eine Datei nicht zusammenführen können, werden beide Versionen zwischen Konfliktmarkierungen hineingeschrieben. Öffnen Sie eine solche Datei in Diff Anything auf beiden Seiten eines Vergleichs und es wird „Diese Datei hat N Zusammenführungskonflikte“ mit „Auflösen“ angezeigt.

Resolve öffnet genau diese Konflikte im Zusammenführungsarbeitsbereich; Jede Zeile außerhalb davon bleibt erhalten, da das Versionskontrollsystem sie zusammengeführt hat. Wenn die Marker eine Basis aufzeichnen (Gits diff3- oder zdiff3-Stil), kann Use base diese auswählen. „Aufgelöste Datei speichern“ schreibt das Ergebnis in derselben Datei mit eigener Kodierung, Byte-Reihenfolgemarkierung und Zeilenenden und fragt zuerst, wann sich die Datei auf der Festplatte geändert hat. Marker, die keine vollständigen Konflikte bilden, werden mit ihrer Linie gemeldet, anstatt erraten zu werden.

Git Zusammenführungstool

git mergetool öffnet die Zusammenführung in einem Fenster (Windows)

Auf Windows kann die Microsoft Store-Version das Zusammenführungstool von Git sein. git mergetool startet es für jede in Konflikt stehende Datei und wartet: Das Fenster zeigt die Basis-, lokale und Remote-Version und das Ergebnis an, beginnend mit den verbleibenden Konflikten Git, sodass jede zusammengeführte Zeile Git beibehalten wird. Speichern und schließen (Strg-S) schreibt die zusammengeführte Datei und beendet sie mit 0, was Git als aufgelöst ansieht; Abbrechen oder Schließen des Fensters wird mit 1 beendet und die Datei bleibt so, wie Git sie geschrieben hat. Ein Ergebnis mit ungelösten Konflikten wird erst nach einer Bestätigung gespeichert.

Der Zusammenführungstreiber, der mit merge.diff-anything.driver festgelegt und in .gitattributes zugewiesen wird, führt bei jeder Zusammenführung von Git auf die gleiche Weise ohne Fenster zusammen und schreibt Konfliktmarkierungen nur um die Werte, die beide Seiten unterschiedlich geändert haben. Das Merge-Tool funktioniert auch mit Mercurial, Subversion, Perforce und TFVC und --cli --integration-help druckt die Einstellungen.

Die Mac App Store-Version läuft in der App Sandbox von Apple, die das Lesen der Dateien, die ein Versionskontrollsystem nennt, nicht zulässt, sodass sie nicht als Merge-Tool gestartet werden kann. Öffnen Sie auf einem Mac die Konfliktdatei in der App und wählen Sie „Auflösen“.

  • git config --global merge.tool diff-anything
  • git config --global mergetool.diff-anything.cmd 'diff-anything --merge-tool "$BASE" "$LOCAL" "$REMOTE" "$MERGED"'
  • git config --global mergetool.diff-anything.trustExitCode true

Kostenlos und Pro

Was der kostenlose Plan beinhaltet

Das Anzeigen der Konflikte in einer Datei ist kostenlos, in der App und mit --cli --conflicts in der Befehlszeile. Der Zusammenführungsarbeitsbereich, das Lösen von Konflikten, der Zusammenführungstreiber und das Zusammenführungstool sind Teil von Pro. Beim kostenlosen Plan bietet das Fenster des Zusammenführungstools Pro und wird beendet, ohne die zusammengeführte Datei zu ändern.

Im Workflow

So verwenden Sie es

  1. Öffnen Sie die Konfliktdatei

    Öffnen Sie eine Datei mit Konfliktmarkierungen in der App oder lassen Sie git mergetool Diff Anything auf Windows starten.

  2. Wählen Sie „Auflösen“.

    Die Konflikte werden im Zusammenführungsarbeitsbereich mit jeder zweiten Zeile geöffnet, wenn das Versionskontrollsystem sie zusammenführt.

  3. Entscheiden Sie jeden Konflikt

    Akzeptieren Sie unsere, Akzeptieren Sie ihre, beide in beliebiger Reihenfolge, oder verwenden Sie die Basis, oder bearbeiten Sie das Ergebnis manuell.

  4. Speichern

    Aufgelöste Datei speichern oder im Fenster des Zusammenführungstools speichern und schließen, schreibt die Datei in ihrer eigenen Kodierung und ihren eigenen Zeilenenden.

Nützlich in der Praxis

Wann man es verwenden sollte

Zugehöriges Handbuch

Den passenden Vergleichstyp wählen

Quellen wählen, die automatische Erkennung verstehen und den Vergleichstyp nehmen, der Ihre Frage beantwortet.

Lesen Sie den Leitfaden

Direkte Antworten

Fragen zum Three-Way-Merge- und Git-Merge-Tool.

Führt Diff Anything JSON und YAML anhand ihrer Daten zusammen?

Ja. JSON-, YAML-, TOML- und INI-Dateien werden Wert für Wert zusammengeführt, wobei es nur dann zu Konflikten kommt, wenn beide Seiten denselben Wert unterschiedlich geändert haben. Mit „Nach Daten zusammenführen“ können Sie bei Bedarf zu einer Zeilenzusammenführung wechseln.

Kann ich eine Datei auflösen, die bereits <<<<<<<-Markierungen enthält?

Ja, mit Pro. Öffnen Sie die Datei und wählen Sie „Auflösen“. Seine Konflikte werden im Zusammenführungsarbeitsbereich geöffnet und die aufgelöste Datei wird in ihrer eigenen Kodierung und ihren eigenen Zeilenenden gespeichert.

Kann Diff Anything mein Git-Mergetool auf einem Mac sein?

Nicht mit der Mac App Store-Version, die die Dateien, die Git an ein Zusammenführungstool übergibt, nicht lesen kann. Lösen Sie Konflikte zwischen Dateien, indem Sie sie in der App öffnen. Auf Windows ist die Version Microsoft Store das Zusammenführungstool.

Mit welchen Versionskontrollsystemen funktioniert das Zusammenführungstool?

Git, Mercurial, Subversion, Perforce und TFVC, auf Windows. Führen Sie diff-anything --cli --integration-help für die jeweiligen Einstellungen aus.

Kostenlos & Pro: Was ist enthalten

Verfügbar im Mac App Store und Microsoft Store. Mit der kostenlosen Desktop-Nutzung können Sie jede Vergleichs-Engine für Dateien bis zu 5 MiB pro Seite und 10 neue Vergleichssitzungen pro lokalem Tag ausprobieren; Sammlungsvorschauen zeigen die ersten 100 Elemente, binäre Vergleiche die ersten 100 Byte-Unterschiede und PDF-Vorschauen die ersten drei Seiten. Der Nur-Text-, JSON- und Jupyter-Notebook-Vergleich ist vollständig und das Öffnen von Dateien über den Finder oder den Datei-Explorer, diffanything://-Links und AppleScript ist kostenlos. Die kostenlose CLI unterstützt Text, JSON und Notebooks. Durch einen einmaligen Pro-Kauf werden die Vorschau- und Sitzungsbeschränkungen aufgehoben und größere Quellen innerhalb technischer Grenzen, gespeicherte Profile und Verlauf, Speichern von Ordner-Snapshots, Exportieren und Drucken von Berichten, JSON-Patch-Export, Anwenden von Patches, Drei-Wege-Zusammenführung und Konfliktlösung, der Git-Merge-Treiber und das Merge-Tool, Ordnersynchronisierung, Batch-Manifeste, vertrauenswürdige Präprozessoren und alle CLI-Modi freigeschaltet.

Weiter

Alle Diff Anything-Funktionen anzeigen.

Zurück zu den Funktionen