git gc

Verwaltung

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]
[ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option

Beispiele

Aufräumen

git gc

Packen und säubern.


Unerreichbare Objekte sofort entfernen

git gc --prune=now

Löscht auch verlorene Commits sofort (Vorsicht).

Workflow-Beispiele

1
git reflog expire --expire=now --all

Alte Positionen vergessen

2
git gc --prune=now --aggressive

Lö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

A:

Nur unerreichbare Objekte, die älter als die Schonfrist sind (standardmäßig 2 Wochen); erreichbare Commits werden nie angefasst.