Start·Terminal-Befehle

git fsck

git

Aufruf

git fsck [--lost-found] [--unreachable]

Prüft die Objektdatenbank und listet Commits, auf die nichts zeigt — der zweite Weg zu verlorener Arbeit nach einem Reset, wenn der Reflog-Eintrag weg ist; es meldet, es repariert nicht.

Häufige Optionen

OptionBedeutung
--lost-foundwrite dangling objects into .git/lost-found
--unreachablelist objects no ref points at
--danglinglist objects nothing at all refers to
--fullcheck packs and alternates too
--connectivity-onlyskip the expensive object checks
--no-reflogsdo not treat reflog entries as roots

Beispiele

git fsck --lost-found

recovers commits after a reset when the reflog is gone

git fsck --unreachable

lists commits nothing points at any more

git fsck --connectivity-only

a quick structural check on a huge repository

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

Prüft die Objektdatenbank und listet Commits, auf die nichts zeigt — der zweite Weg zu verlorener Arbeit nach einem Reset, wenn der Reflog-Eintrag weg ist; es meldet, es repariert nicht.

Q. Wie gibt man ihn ein?

git fsck [--lost-found] [--unreachable] — 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-fsck