git gc
Räumt das Repository auf und optimiert es
Der Befehl 'git gc' (Garbage Collection) packt lose Objekte in komprimierte Packfiles, entfernt Objekte, auf die nichts mehr verweist (nach ihrer Schonfrist), und räumt Referenzen und Reflogs auf. Git führt automatisch eine leichte Version aus; von Hand brauchst du es selten. Es ändert nur die Speicherung — nie deine Commits, Branches oder Dateien.
Syntax
git gc [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune]Beispiele
Aufräumen
git gcPacken und säubern.
Unerreichbare Objekte sofort entfernen
git gc --prune=nowLöscht auch verlorene Commits sofort (Vorsicht).
Workflow-Beispiele
git reflog expire --expire=now --allAlte Positionen vergessen
git gc --prune=now --aggressiveLöschen und neu packen
Fehlerbehebung
Meldung "Auto packing the repository…"
Ursache: Git hat gc automatisch ausgeführt
Nichts zu tun; so bleibt das Repository schnell
Tipps & Stolperfallen
Best Practices
- ✓Lass Git es automatisch ausführen, oder plane git maintenance ein.
Häufige Fehler
- ✗git gc --prune=now ausführen, obwohl man einen verlorenen Commit retten will — er wird gelöscht.
FAQ
Nur unerreichbare Objekte, die älter als die Schonfrist sind (standardmäßig 2 Wochen); erreichbare Commits werden nie angefasst.