English ▾ Themen ▾ Neueste Version ▾ git-difftool zuletzt aktualisiert in 2.52.0

NAME

git-difftool - Unterschiede mit gängigen Diff-Tools anzeigen

SYNOPSIS

git difftool [<options>] [<commit> [<commit>]] [--] [<path>…​]

BESCHREIBUNG

git difftool ist ein Git-Befehl, mit dem Sie Dateien zwischen Revisionen mit gängigen Diff-Tools vergleichen und bearbeiten können. git difftool ist eine Frontend für git diff und akzeptiert dieselben Optionen und Argumente. Siehe git-diff[1].

OPTIONEN

-d
--dir-diff

Kopiert die geänderten Dateien an einen temporären Ort und führt einen Verzeichnisvergleich (directory diff) darauf aus. Dieser Modus fragt niemals nach, bevor das Diff-Tool gestartet wird.

-y
--no-prompt

Fragt nicht nach, bevor ein Diff-Tool gestartet wird.

--prompt

Fragt vor jeder Ausführung des Diff-Tools nach. Dies ist das Standardverhalten; die Option wird bereitgestellt, um alle Konfigurationseinstellungen zu überschreiben.

--rotate-to=<file>

Beginnt mit der Anzeige des Diff für den angegebenen Pfad. Die Pfade davor werden ans Ende verschoben und ausgegeben.

--skip-to=<file>

Beginnt mit der Anzeige des Diff für den angegebenen Pfad und überspringt alle Pfade davor.

-t <tool>
--tool=<tool>

Verwendet das durch <tool> angegebene Diff-Tool. Gültige Werte sind emerge, kompare, meld und vimdiff. Führen Sie git difftool --tool-help aus, um die Liste der gültigen <tool>-Einstellungen zu erhalten.

Wenn kein Diff-Tool angegeben ist, verwendet git difftool die Konfigurationsvariable diff.tool. Wenn die Konfigurationsvariable diff.tool nicht gesetzt ist, wählt git difftool einen geeigneten Standardwert aus.

Sie können explizit einen vollständigen Pfad zum Tool angeben, indem Sie die Konfigurationsvariable difftool.<tool>.path setzen. Zum Beispiel können Sie den absoluten Pfad zu kdiff3 konfigurieren, indem Sie difftool.kdiff3.path setzen. Andernfalls geht git difftool davon aus, dass das Tool in PATH verfügbar ist.

Anstatt eines der bekannten Diff-Tools auszuführen, kann git difftool angepasst werden, um ein alternatives Programm auszuführen, indem die aufzurufende Befehlszeile in der Konfigurationsvariable difftool.<tool>.cmd angegeben wird.

Wenn git difftool mit diesem Tool aufgerufen wird (entweder über die Option -t oder --tool oder die Konfigurationsvariable diff.tool), wird die konfigurierte Befehlszeile mit den folgenden verfügbaren Variablen aufgerufen: $LOCAL wird auf den Namen der temporären Datei gesetzt, die den Inhalt des Diff-Pre-Images enthält, und $REMOTE wird auf den Namen der temporären Datei gesetzt, die den Inhalt des Diff-Post-Images enthält. $MERGED ist der Name der Datei, die verglichen wird. $BASE wird zur Kompatibilität mit benutzerdefinierten Merge-Tool-Befehlen bereitgestellt und hat denselben Wert wie $MERGED.

--tool-help

Listet die Diff-Tools auf, die mit --tool verwendet werden können.

Das Standardverhalten von git difftool ist es, Symlinks zum Arbeitsverzeichnis zu erstellen, wenn es im Modus --dir-diff ausgeführt wird und die rechte Seite des Vergleichs denselben Inhalt wie die Datei im Arbeitsverzeichnis ergibt.

Die Angabe von --no-symlinks weist git difftool an, stattdessen Kopien zu erstellen. --no-symlinks ist unter Windows Standard.

-x <command>
--extcmd=<command>

Gibt einen benutzerdefinierten Befehl zum Anzeigen von Diffs an. git difftool ignoriert die konfigurierten Standardwerte und führt <command> $LOCAL $REMOTE aus, wenn diese Option angegeben wird. Zusätzlich wird $BASE in der Umgebung gesetzt.

-g
--gui
--no-gui

Wenn git difftool mit der Option -g oder --gui aufgerufen wird, wird das Standard-Diff-Tool aus der konfigurierten Variable diff.guitool anstelle von diff.tool gelesen. Dies kann automatisch mithilfe der Konfigurationsvariable difftool.guiDefault ausgewählt werden. Die Option --no-gui kann verwendet werden, um diese Einstellungen zu überschreiben. Wenn diff.guitool nicht gesetzt ist, greifen wir in der Reihenfolge merge.guitool, diff.tool, merge.tool zurück, bis ein Tool gefunden wird.

--trust-exit-code
--no-trust-exit-code

Fehler, die vom Diff-Tool gemeldet werden, werden standardmäßig ignoriert. Verwenden Sie --trust-exit-code, damit git difftool beendet wird, wenn ein aufgerufenes Diff-Tool einen Exit-Code ungleich Null zurückgibt.

git difftool leitet den Exit-Code des aufgerufenen Tools weiter, wenn --trust-exit-code verwendet wird.

Siehe git-diff[1] für die vollständige Liste der unterstützten Optionen.

KONFIGURATION

git difftool greift auf git mergetool Konfigurationsvariablen zurück, wenn die entsprechenden difftool-Äquivalente nicht definiert sind.

Alles oberhalb dieser Zeile in diesem Abschnitt ist nicht in der Dokumentation von git-config[1] enthalten. Der nachfolgende Inhalt ist derselbe wie dort zu finden.

diff.tool

Steuert, welches Diff-Tool von git-difftool[1] verwendet wird. Diese Variable überschreibt den in merge.tool konfigurierten Wert. Die unten stehende Liste zeigt die gültigen integrierten Werte. Jeder andere Wert wird als benutzerdefiniertes Diff-Tool behandelt und erfordert, dass eine entsprechende difftool.<tool>.cmd Variable definiert ist.

diff.guitool

Steuert, welches Diff-Tool von git-difftool[1] verwendet wird, wenn das Flag -g/--gui gesetzt ist. Diese Variable überschreibt den in merge.guitool konfigurierten Wert. Die unten stehende Liste zeigt die gültigen integrierten Werte. Jeder andere Wert wird als benutzerdefiniertes Diff-Tool behandelt und erfordert, dass eine entsprechende difftool.<guitool>.cmd Variable definiert ist.

  • araxis

  • bc

  • codecompare

  • deltawalker

  • diffmerge

  • diffuse

  • ecmerge

  • emerge

  • examdiff

  • guiffy

  • gvimdiff

  • kdiff3

  • kompare

  • meld

  • nvimdiff

  • opendiff

  • p4merge

  • smerge

  • tkdiff

  • vimdiff

  • vscode

  • winmerge

  • xxdiff

difftool.<tool>.cmd

Gibt den auszuführenden Befehl für das angegebene Diff-Tool an. Der angegebene Befehl wird in der Shell mit den folgenden verfügbaren Variablen ausgewertet: LOCAL wird auf den Namen der temporären Datei gesetzt, die den Inhalt des Diff-Pre-Images enthält, und REMOTE wird auf den Namen der temporären Datei gesetzt, die den Inhalt des Diff-Post-Images enthält.

Siehe die Option --tool=<tool> in git-difftool[1] für weitere Details.

difftool.<tool>.path

Überschreibt den Pfad für das gegebene Tool. Dies ist nützlich, falls Ihr Tool nicht im PATH enthalten ist.

difftool.trustExitCode

Beendet difftool, wenn das aufgerufene Diff-Tool einen Exit-Status ungleich Null zurückgibt.

Siehe die Option --trust-exit-code in git-difftool[1] für weitere Details.

difftool.prompt

Fragt vor jeder Ausführung des Diff-Tools nach.

difftool.guiDefault

Setzt true, um diff.guitool standardmäßig zu verwenden (entspricht der Angabe des Arguments --gui), oder auto, um diff.guitool oder diff.tool auszuwählen, abhängig vom Vorhandensein eines Werts in der Umgebungsvariablen DISPLAY. Der Standardwert ist false, wobei das Argument --gui explizit angegeben werden muss, damit diff.guitool verwendet wird.

SIEHE AUCH

git-diff[1]

Zeigt Unterschiede zwischen Commits, Commit und Arbeitsverzeichnis usw. an.

git-mergetool[1]

Führt Merge-Konfliktlösungs-Tools aus, um Merge-Konflikte zu lösen.

git-config[1]

Ruft Repository- oder globale Optionen ab und setzt sie.

GIT

Teil der git[1] Suite