Packfile-Grundlagen
Ein Packfile bundelt viele Objekte in einer Datei mit Delta-Kompression — anstatt jede Version einer Datei vollstandig zu speichern, teilen sich ahnliche Objekte eine Basis und speichern nur die Differenz.
Packs inspizieren
git verify-pack -v .git/objects/pack/pack-*.idx | head
git count-objects -v
git cat-file --batch-all-objects --batch-check='%(objectname) %(objecttype) %(objectsize:disk)'
Repacking
git repack -ad
git repack -adf --depth=50 --window=250
git repack --geometric=2 -d
Geometrisches Repacking
Geometrisches Repacking (Git 2.32+) halt eine Reihe von Pack-Grossen in einem 1:N-Verhaltnis.
Multi-pack-index
git multi-pack-index write
git multi-pack-index verify
Delta-Tuning
[pack]
windowMemory = 256m
threads = 0
deltaCacheSize = 256m
Erreichbarkeits-Bitmaps
git repack -adb
Haufige Fehler
Pack-Dateien manuell loschen — Git verfolgt sie in Metadaten.