Git Diff
Zuletzt aktualisiert
git diff zeigt die exakten zeilenweisen Änderungen zwischen zwei Zuständen deines Repositorys. Ohne Argumente zeigt es, was du geändert, aber noch nicht gestaged hast. Füge --staged hinzu, um zu sehen, was gestaged ist, nenne zwei Commits oder Branches, um sie zu vergleichen, oder nenne eine Datei, um es einzugrenzen.
Probiere diese im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git diff | Nicht gestagte Änderungen gegenüber dem Index |
git diff --staged | Gestagte Änderungen gegenüber dem letzten Commit |
git diff HEAD | Alle Änderungen seit dem letzten Commit |
git diff main feature | Unterschied zwischen zwei Branches |
git diff <hash1> <hash2> | Unterschied zwischen zwei Commits |
git diff -- file.txt | Änderungen an einer einzelnen Datei |
Häufige Fälle
| Goal | Command |
|---|---|
| Sehen, was du gleich committen wirst | git diff --staged |
| Nicht committete Arbeit sehen | git diff |
| Deinen Branch mit main vergleichen | git diff main |
| Nur die Namen der geänderten Dateien | git diff --name-only |
Git diff FAQ
Was zeigt git diff standardmäßig?
Ohne Argumente zeigt
git diff Änderungen in deinem Arbeitsbaum, die noch nicht gestaged sind - was du seit dem letzten git add bearbeitet hast. Um zu sehen, was du bereits gestaged hast (und als Nächstes committen wirst), verwende git diff --staged; um alles seit dem letzten Commit zu sehen, verwende git diff HEAD.Was ist der Unterschied zwischen git diff und git diff --staged?
git diff vergleicht deinen Arbeitsbaum mit dem Staging-Bereich (nicht gestagte Änderungen). git diff --staged (auch --cached) vergleicht den Staging-Bereich mit dem letzten Commit (gestagte Änderungen). Zusammen zeigen sie die beiden Hälften deiner nicht committeten Arbeit.Wie vergleiche ich zwei Branches oder Commits?
Nenne sie:
git diff main feature zeigt, was sich zwischen den beiden Branches unterscheidet, und git diff <hash1> <hash2> vergleicht zwei Commits. Füge am Ende -- <file> hinzu, um den Vergleich auf eine Datei zu beschränken.Wie sehe ich nur, welche Dateien sich geändert haben, nicht den vollständigen Diff?
Verwende
git diff --name-only für nur die Dateinamen oder git diff --stat für eine Zusammenfassung, die jede Datei und die Anzahl der geänderten Zeilen zeigt. Diese sind praktisch für einen schnellen Überblick, bevor du den vollständigen zeilenweisen Diff liest.Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um
git diff in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt auch das Untersuchen von Änderungen Schritt für Schritt.