Start·Terminal-Befehle

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

OptionBedeutung
--stagedcompare the staged snapshot with HEAD (same as --cached)
--statsummary of files and line counts instead of the patch
-wignore whitespace changes
--name-onlylist 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 diff

shows only what is NOT staged yet

git diff --staged

shows what git commit would record

git diff main...feature

the 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