Veit Schiele

Veit Schiele

Git: Wartung und Datenrettung

Ein Repository kann kompakter gemacht oder aufgeräumt werden und manchmal muss auch eine verlorene Arbeit wiederhergestellt werden.

Instandhaltung

Gelegentlich führt Git automatisch den Befehl auto gc aus. Wenn es zu viele lose Objekte, d.h. Objekte die nicht in einem Packfile <https://git-scm.com/book/en/v2/Git-Internals-Packfiles> sind, oder es zu viele Packfiles gibt, dann startet Git eine sog. Garbage Collection mit git gc: Lose Objekte werden gesammelt und in Packfiles gepackt, Packfiles konsolidiert und Objekte entfernt, die keinem Commit zuzuordnen sind.

Sie können auto gc manuell ausführen mit:

$ git gc --auto

Der Befehl wirkt jedoch erst ab etwa 7000 losen Objekten oder mehr als 50 Packfiles. Diese Grenzwerte können geändert werden mit gc.auto oder mit gc.autopacklimit.