Start·Terminal-Befehle

git restore

git

Aufruf

git restore [--staged] [-s <commit>] <pathspec>

Der Befehl aus git 2.23, der Dateiinhalte zurücksetzt; standardmäßig überschreibt er die Arbeitsdatei und nicht committete Änderungen sind weg, --staged nimmt nur aus der Staging-Area.

Häufige Optionen

OptionBedeutung
--stagedunstage the file but keep your edits
--worktreereset the file on disk; this is the default
--staged --worktreeboth: throw the edits away and unstage
-s <commit>take the content from that commit instead of the index
-pchoose hunk by hunk

Beispiele

git restore src/app.ts

wipes uncommitted edits to that file, with no way back

git restore --staged src/app.ts

takes it out of the staging area, edits intact

git restore -s HEAD~2 src/app.ts

brings back the version from two commits ago

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 restore?

Der Befehl aus git 2.23, der Dateiinhalte zurücksetzt; standardmäßig überschreibt er die Arbeitsdatei und nicht committete Änderungen sind weg, --staged nimmt nur aus der Staging-Area.

Q. Wie gibt man ihn ein?

git restore [--staged] [-s <commit>] <pathspec> — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 5; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-restore