git diff
git
Aufruf
git diff [--staged] [<commit>] [-- <path>]Zeigt nur die noch nicht vorbereiteten Änderungen — deshalb wirkt es direkt nach git add leer, dann hilft --staged.
Häufige Optionen
| Option | Bedeutung |
|---|---|
| --staged | compare the staged snapshot with HEAD (same as --cached) |
| --stat | summary of files and line counts instead of the patch |
| -w | ignore whitespace changes |
| --name-only | list changed paths only |
| <a>...<b> | changes on b since it forked from a |
| -- <path> | restrict to a path; the -- keeps it from being read as a branch |
Beispiele
git diffshows only what is NOT staged yet
git diff --stagedshows what git commit would record
git diff main...featurethe work feature added since it left main
Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.
So liest man das
- Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
- Drei Punkte … heißen: mehrere sind erlaubt.
- Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.
Häufige Fragen
Q. Was macht git diff?
Zeigt nur die noch nicht vorbereiteten Änderungen — deshalb wirkt es direkt nach git add leer, dann hilft --staged.
Q. Wie gibt man ihn ein?
git diff [--staged] [<commit>] [-- <path>] — eckige Klammern markieren, was wegfallen darf.
Q. Wie viele Optionen lohnen sich?
Hier stehen 6; die vollständige Liste steht in man git. Der Befehl gehört zu git.
Verwandte Befehle
man-Seite: man git-diff