git difftool-Befehl
git difftoolDer Befehl wird verwendet, um Dateiänderungen mit einem externen Diff-Tool anzuzeigen und zu vergleichen.
git difftoolDieser Befehl ist eine Erweiterung des git diff-Befehls und bietet ein intuitiveres visuelles Werkzeug zum Auflösen von Unterschieden zwischen Dateien. Er eignet sich für Benutzer, die grafische Werkzeuge gegenüber Kommandozeilen-Tools bevorzugen, um Dateiunterschiede zu behandeln.
Grundlegende Syntax
git difftool [<options>] [<commit> [<path>...]]
<commit>Geben Sie den/die zu vergleichenden Commit(s) an; standardmäßig wird der aktuelle Zustand des Arbeitsverzeichnisses verwendet.<path>Geben Sie den zu vergleichenden Dateipfad an.
Häufige Optionen und Verwendung:
| Optionen | Beschreibung | Verwendungsbeispiel |
|---|---|---|
--tool=<tool> | Geben Sie das zu verwendende externe Diff-Tool an. Standardmäßig verwendet Git das konfigurierte Standard-Diff-Tool. | git difftool --tool=meld |
--tool-help | Zeigen Sie die Liste der verfügbaren Diff-Tools an. | git difftool --tool-help |
--dir-diff | Vergleichen Sie Verzeichnisse statt Datei für Datei. | git difftool --dir-diff |
--no-prompt | Überspringen Sie die Bestätigungsaufforderung für jede Datei und verwenden Sie automatisch das Tool, um die Unterschiede anzuzeigen. | git difftool --no-prompt |
--staged | Vergleichen Sie die Unterschiede zwischen vorgemerkten Änderungen und dem vorherigen Commit. | git difftool --staged |
--cached | und--stagedWie oben; wird verwendet, um die Unterschiede zwischen zwischengespeicherten Änderungen und dem vorherigen Commit zu vergleichen. | git difftool --cached |
--merge | Wird für Merge-Tools verwendet, um Unterschiede beim Behandeln von Konflikten anzuzeigen. | git difftool --merge |
--find-copies | Nach Dateikopien und -verschiebungen suchen. | git difftool --find-copies |
--find-copies-harder | Strenger nach Dateikopien und -verschiebungen suchen. | git difftool --find-copies-harder |
Häufige Verwendung
1. Unterschiede zwischen dem Arbeitsverzeichnis und dem letzten Commit anzeigen
Verwenden Sie das Standard-Diff-Tool, um die Unterschiede zwischen Änderungen im aktuellen Arbeitsverzeichnis und dem letzten Commit anzuzeigen:
git difftool
2. Die Unterschiede zwischen dem Staging-Bereich und dem letzten Commit anzeigen
Verwenden Sie das Standard-Diff-Tool, um die Unterschiede zwischen den Änderungen im Staging-Bereich und dem letzten Commit anzuzeigen:
git difftool --staged
3. Unterschiede für eine bestimmte Datei anzeigen
Verwenden Sie das Standard-Diff-Tool, um die Änderungen einer angegebenen Datei anzuzeigen:
git difftool <file>
Beispiel:
git difftool index.html
4. Unterschiede mit einem angegebenen Tool anzeigen
Verwenden Sie das meld-Tool, um Unterschiede anzuzeigen (erfordert, dass meld als Diff-Tool in der Git-Konfiguration festgelegt wird):
git difftool --tool=meld
5. Unterschiede im Verzeichnis anzeigen.
Änderungen in einem Verzeichnis statt Datei für Datei anzeigen:
git difftool --dir-diff
6. Die Bestätigungsaufforderung überspringen
Das Tool automatisch öffnen, um die Unterschiede aller Dateien ohne Bestätigung anzuzeigen:
git difftool --no-prompt
Ein externes Diff-Tool konfigurieren
Sie können das externe Diff-Tool in der Git-Konfiguration festlegen. Das folgende ist ein Beispiel für die Konfiguration des meld-Tools:
git config --global diff.tool meld git config --global difftool.meld.cmd 'meld "$BASE" "$LOCAL" "$REMOTE" --diff "$MERGED"'
Sie können andere Tools nach Bedarf konfigurieren (wie kdiff3, vimdiff, opendiff usw.), und die konkrete Konfigurationsmethode hängt von der Kommandozeilenschnittstelle des Tools selbst ab.
Weitere Erweiterungen