Funktionsleitfaden macOSWindows

Verwenden Sie dasselbe private Vergleichsmodell von Git und CI

Unter Windows vergleicht die kostenlose Befehlszeile Text, JSON und Jupyter-Notebooks mit Terminal-, Zusammenfassungs- oder JSON-Ausgabe. Pro schaltet jeden Vergleichstyp frei, dazu Berichte, das Anwenden von Patches, Batch-Manifeste mit JUnit- oder SARIF-Ausgabe, den Merge-Treiber und das Merge-Tool. git difftool und der Git-Diff-Treiber funktionieren schon in der kostenlosen Version. Die Version aus dem Mac App Store läuft in Apples App-Sandbox, die sie auf Dateien und Ordner beschränkt, die Sie in der App wählen; Befehlszeile, Git und CI beschreiben wir deshalb für Windows. Mit Pro berücksichtigt --fail-on breaking nur inkompatible oder nicht klassifizierte API-Schemaänderungen.

Funktionsübersicht

Wie kann ich cli, git und ci in Diff Anything verwenden?

Unter Windows vergleicht die kostenlose Befehlszeile Text, JSON und Jupyter-Notebooks mit Terminal-, Zusammenfassungs- oder JSON-Ausgabe. Pro schaltet jeden Vergleichstyp frei, dazu Berichte, das Anwenden von Patches, Batch-Manifeste mit JUnit- oder SARIF-Ausgabe, den Merge-Treiber und das Merge-Tool. git difftool und der Git-Diff-Treiber funktionieren schon in der kostenlosen Version. Die Version aus dem Mac App Store läuft in Apples App-Sandbox, die sie auf Dateien und Ordner beschränkt, die Sie in der App wählen; Befehlszeile, Git und CI beschreiben wir deshalb für Windows. Mit Pro berücksichtigt --fail-on breaking nur inkompatible oder nicht klassifizierte API-Schemaänderungen.

Die Version aus dem Microsoft Store unter Windows stellt den Befehl diff-anything.exe bereit und ist selbst das Merge-Tool, das Git, Mercurial, Subversion, Perforce und TFVC starten.

Die Version aus dem Mac App Store läuft in Apples App-Sandbox, daher kann ihre eigene ausführbare Datei keine Dateien lesen, die in einer Befehlszeile genannt werden. Installieren Sie auf dem Mac das kostenlose Befehlszeilenhilfsprogramm von Diff Anything, einen notarisierten Download von dieser Website statt aus dem Mac App Store: Es legt diff-anything in /usr/local/bin ab, führt dieselben Befehle, Git-Einstellungen und Batch-Manifeste aus und öffnet Zusammenführungen von git mergetool in einem Fenster der App. Das Hilfsprogramm hat Pro, wenn Pro in der App auf demselben Mac gekauft oder wiederhergestellt wurde; ohne Pro arbeitet es als kostenlose CLI.

Diff Anything mit deutscher Oberfläche: Dateien, Ordner oder eingefügten Text als Quellen auswählen.
Diff Anything mit deutscher Oberfläche: Dateien, Ordner oder eingefügten Text als Quellen auswählen. Vollbild anzeigen

Ausführen des CLI

Die installierte App ist auch das Befehlszeilentool

Starten Sie die ausführbare Datei von Diff Anything mit --cli gefolgt von zwei Pfaden, oder lassen Sie Git sie als Diff-Treiber ausführen. Unter Windows stellt das Paket aus dem Microsoft Store den Befehl diff-anything.exe bereit. Auf dem Mac installieren Sie das kostenlose Befehlszeilenhilfsprogramm, das diff-anything in /usr/local/bin ablegt und --cli nicht benötigt, aber akzeptiert. Wählen Sie mit --mode einen der Modi auto, text, json, yaml, toml, ini, plist, xml, csv, env, http, api, notebook, sqlite, folder, archive, document oder binary, und setzen Sie -- vor Dateinamen, die mit einem Bindestrich beginnen. --help listet alle Optionen auf und --version gibt die installierte Version aus.

Es gibt drei Ausgabeformate. terminal zeigt einen Vergleich mit Zeilennummern und Syntaxhervorhebung; --color auto, always oder never steuert die Farben. summary gibt eine kurze Zusammenfassung der Anzahlen aus, json das vollständige Ergebnis für Skripte. Ein interaktives Terminal verwendet standardmäßig terminal, eine umgeleitete Ausgabe summary.

Mit --exit-code gibt der Befehl 1 zurück, wenn Unterschiede gefunden werden, und 0, wenn keine vorhanden sind. Eine ungültige Eingabe gibt 2 zurück.

Auf einem Mac

Das Befehlszeilenhilfsprogramm für die Version aus dem Mac App Store

Die Version aus dem Mac App Store läuft in Apples App-Sandbox, die ihr nur erlaubt, die Dateien zu lesen, die Sie in der App öffnen; deshalb kann ihre eigene ausführbare Datei die Dateien nicht lesen, die ein Befehl nennt: Im Terminal gestartet, meldet sie, dass Sie das Hilfsprogramm installieren sollen, und beendet sich mit 2. Das Hilfsprogramm ist dieselbe Befehlszeile, als eigenes Programm gebaut, das außerhalb der Sandbox läuft, sodass jeder Befehl, jede Git-Einstellung und jedes Batch-Manifest auf dieser Seite unverändert damit funktioniert. „Einstellungen > Befehlszeile“ in der App verlinkt darauf und zeigt die Git-Einstellungen.

Es ist ein kostenloses Installationsprogramm von dieser Website, nicht aus dem Mac App Store, mit einer Developer ID signiert und von Apple notarisiert, für Macs mit Apple Silicon und Intel mit macOS 13 oder neuer und Diff Anything 1.7 oder neuer aus dem Mac App Store. Als Merge-Tool liest das Hilfsprogramm die Dateien, die Git nennt, öffnet die Zusammenführung in einem Fenster der App, wobei es die App startet, wenn sie nicht läuft, und schreibt die zusammengeführte Datei, wenn Sie „Speichern und schließen“ wählen. diff-anything --compare-paths öffnet eine oder zwei Dateien oder Ordner in der App. Das Hilfsprogramm nutzt niemals das Netzwerk, und sudo /usr/local/lib/diff-anything/uninstall entfernt es.

Kostenlos und Pro

Was im kostenlosen Plan läuft

Die kostenlose Befehlszeile vergleicht Text-, JSON- und Jupyter-Notebookdateien mit bis zu 5 MB pro Seite, und jeder Lauf zählt für die 10 neuen Vergleichssitzungen pro Tag. Andere Modi, einschließlich einer automatischen Ausführung, die in einen anderen Modus auflöst, berichten, dass sie in Pro enthalten sind.

Pro schaltet alle Modi, Batch-Manifeste und das Git-Merge-Tool frei. Die Befehlszeile verwendet die von der Desktop-App für dasselbe Benutzerkonto aufgezeichnete Pro-Entsperrung. Öffnen Sie die App also einmal auf diesem Computer, um Pro zu kaufen oder wiederherzustellen.

Auf dem Mac hat das Befehlszeilenhilfsprogramm Pro, wenn Pro in der App auf demselben Mac unter demselben macOS-Benutzer gekauft oder wiederhergestellt wurde: Die App legt den vom App Store signierten Kaufnachweis in einem Ordner ab, den sie mit dem Hilfsprogramm teilt, und das Hilfsprogramm prüft Apples Signatur darauf offline. Öffnen Sie die App nach dem Kauf oder der Wiederherstellung einmal, bevor Sie Pro über die Befehlszeile nutzen. Ohne Pro arbeitet das Hilfsprogramm als kostenlose Befehlszeile mit 10 Vergleichen pro Tag, die gesondert gezählt werden, und diff-anything --pro-status nennt den Grund, warum Pro nicht gefunden wurde.

Git

Verwendung als Difftool, Merge-Treiber und Mergetool von Git

Führen Sie die ausführbare Datei mit --cli --integration-help aus, um vorgefertigte Git-Einstellungen zu drucken. Um Änderungen anzuzeigen, setzen Sie diff.tool auf diff-anything und difftool.diff-anything.cmd, um die App mit --cli --format terminal --color auto "$LOCAL" "$REMOTE" aufzurufen. git difftool zeigt dann jede geänderte Datei mit Hervorhebung an. Damit Git Diff selbst die App für ausgewählte Dateitypen verwendet, legen Sie diff.diff-anything.command fest und weisen Sie den Treiber in .gitattributes zu, zum Beispiel *.json diff=diff-anything; Lassen Sie --exit-code weg.

Mit Pro führt der Zusammenführungstreiber die Dateien zusammen, die Sie ihm mit merge=diff-anything zuweisen: JSON, YAML, TOML und INI-Dateien nach ihren Daten, anderer Text nach Zeilen, und gibt 1 zurück, solange Konflikte bestehen bleiben. Setzen Sie merge.tool auf diff-anything und mergetool.diff-anything.cmd auf diff-anything --merge-tool "$BASE" "$LOCAL" "$REMOTE" "$MERGED", und git mergetool öffnet jede in Konflikt stehende Datei im Zusammenführungsfenster von Diff Anything. „Save & Close“ schreibt das Ergebnis und teilt Git mit, dass die Datei aufgelöst wurde; Abbrechen belässt es so, wie Git es geschrieben hat.

Charge und CI

Viele Vergleiche in einem Job ausführen (Pro)

Ein Batch-Manifest ist eine YAML- oder JSON-Datei mit einer Vergleichsliste. Jeder Eintrag hat einen linken und einen rechten Pfad und optional einen Namen, einen Modus und failOn: Breaking für API-Schemafälle, die dann nur bei Breaking oder nicht klassifizierten Änderungen fehlschlagen. Führen Sie es mit --batch aus und wählen Sie --format summary, json, junit oder sarif. Ein Manifest kann Modi mischen, zum Beispiel eine JSON-Konfigurationsprüfung, einen Ordnervergleich einer Build-Ausgabe und eine Binärprüfung eines Installationsprogramms. Geänderte Fälle und Fälle, die nicht gelesen werden konnten, werden separat gezählt, und der Befehl gibt 1 zurück, wenn ein Fall die FailOn-Prüfung nicht besteht oder nicht verglichen werden konnte.

Die JUnit-Ausgabe meldet fehlgeschlagene Fälle als Fehler und Leseprobleme als Fehler, die die meisten CI-Systeme als Testergebnisse anzeigen; Für API-Fälle werden die Breaking Changes mit ihren Regelcodes aufgelistet. Die SARIF-Ausgabe meldet jeden API-Befund unter seinem Regelcode und jeden anderen geänderten oder fehlgeschlagenen Fall in seiner rechten Datei. Schreiben Sie einen der beiden Berichte mit --output FILE. Jeder Fall verwendet den Standardvergleich seines Modus, da in der App festgelegte Regeln nicht von der Befehlszeile gelesen werden. Das gleiche Manifest kann in der App unter „Extras“, „Stapelmanifest“ geöffnet, bearbeitet und ausgeführt werden.

Im Workflow

So verwenden Sie es

  1. Suchen Sie den Befehl

    Verwenden Sie unter Windows diff-anything.exe. Auf dem Mac installieren Sie das kostenlose Befehlszeilenhilfsprogramm und verwenden diff-anything. Überprüfen Sie es mit --cli --version.

  2. Versuchen Sie einen Vergleich

    Vergleichen Sie zwei Dateien mit --format terminal. Fügen Sie für die Verwendung in einem Skript --exit-code hinzu.

  3. Git verbinden

    Kopieren Sie die Einstellungen von --integration-help und führen Sie bei Ihrer nächsten Änderung git difftool aus.

  4. Automatisieren Sie mit einem Manifest

    Listen Sie mit Pro Ihre Vergleiche in einem Manifest auf und führen Sie --batch mit JUnit- oder SARIF-Ausgabe aus.

Nützlich in der Praxis

Wann man es verwenden sollte

Zugehöriges Handbuch

Diff Anything mit Befehlszeile, Git und CI nutzen

Unter Windows Vergleiche wiederholbar ausführen, Exit-Codes verstehen, Git einbinden und maschinenlesbare Ergebnisse für CI erzeugen.

Lesen Sie den Leitfaden

Direkte Antworten

Fragen zu CLI, Git und CI.

Welche Exit-Codes werden verwendet?

Bei --exit-code bedeutet 0, dass keine Unterschiede vorhanden sind, und 1, dass Unterschiede gefunden wurden. Eine ungültige Eingabe gibt 2 zurück. Ein Batch-Lauf wird mit 1 beendet, sobald sich einer seiner Fälle geändert hat oder nicht gelesen werden konnte.

Warum schlägt mein YAML-Vergleich im kostenlosen Plan fehl?

Im kostenlosen Plan werden nur die Text-, JSON- und Notebook-Modi über die Befehlszeile ausgeführt. YAML und jeder andere Modus benötigen Pro.

Kann ich die Befehlszeile mit der Version aus dem Mac App Store verwenden?

Ja, mit dem kostenlosen Befehlszeilenhilfsprogramm. Die eigene ausführbare Datei der App läuft in Apples App-Sandbox und kann die Dateien, die ein Befehl nennt, nicht lesen; deshalb meldet sie nur, dass Sie das Hilfsprogramm installieren sollen. Das Hilfsprogramm installiert diff-anything in /usr/local/bin und führt jeden dafür geschriebenen Befehl, jede Git-Einstellung und jedes Batch-Manifest aus, mit dem Pro-Kauf aus der App auf demselben Mac.

Kann ich Diff Anything als Git-Merge-Tool auf einem Mac verwenden?

Ja, mit Pro und dem kostenlosen Befehlszeilenhilfsprogramm. Die Version aus dem Mac App Store kann die Dateien, die Git nennt, nicht selbst lesen; das Hilfsprogramm liest sie, öffnet die Zusammenführung in einem Fenster der App und schreibt die zusammengeführte Datei, wenn Sie „Speichern und schließen“ wählen. Ohne das Hilfsprogramm öffnen Sie die Datei mit Konflikten in der App und wählen „Auflösen“. Unter Windows ist die Version aus dem Microsoft Store das Merge-Tool.

Verwendet die Befehlszeile die Regeln, die ich in der App festgelegt habe?

Nein. Es wird der Standardvergleich jedes Modus verwendet. Speichern Sie die Regeln in einem Profil und öffnen Sie es in der App, wenn Sie sie benötigen.

Woher weiß die Befehlszeile, dass ich Pro habe?

Unter Windows liest es die Pro-Freischaltung, die von der Desktop-App für denselben Benutzer gespeichert wurde. Auf dem Mac prüft das Befehlszeilenhilfsprogramm offline den vom App Store signierten Kaufnachweis, den die App für denselben macOS-Benutzer aufbewahrt. Kaufen Sie Pro zuerst in der App auf diesem Computer oder stellen Sie den Kauf dort wieder her; öffnen Sie die App auf dem Mac danach einmal.

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 3 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, und das Befehlszeilenhilfsprogramm, das die CLI zur Version aus dem Mac App Store bringt, ist ein kostenloser Download, der den in der App getätigten Pro-Kauf nutzt. 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, alle CLI-Modi und unter Windows vertrauenswürdige Präprozessoren freigeschaltet.

Weiter

Alle Diff Anything-Funktionen anzeigen.

Zurück zu den Funktionen