Von Gast (nicht überprüft) , 29 April 2026

Was gc tut

git gc fuhrt Wartung durch: repackt loose Objekte, prunt unerreichbare uber die Ablauffenster hinaus, packt loose Refs in packed-refs, lasst Reflogs auslaufen und schreibt Commit-Graph und MIDX, wo konfiguriert.

Auto-Trigger

[gc]
auto = 6700
autoPackLimit = 50
autoDetach = true
pruneExpire = 2.weeks.ago
reflogExpire = 90.days
reflogExpireUnreachable = 30.days

Manueller Aufruf

git gc
git gc --auto
git gc --aggressive
git gc --prune=now

Sicheres Pruning

git reflog expire --expire=now --all
git gc --prune=now

pack-refs

git pack-refs --all
git for-each-ref | wc -l
ls .git/refs/heads | wc -l

Background-Scheduling

git maintenance start
git maintenance run --task=gc
git maintenance run --task=loose-objects
git maintenance run --task=pack-refs

Aggressive vs Default

--aggressive verwendet Tiefe 250, Fenster 250.

Haufige Fehler

Auto-gc deaktivieren, um "CPU zu sparen", und mit Millionen loose Objekten enden.