Par Anonyme (non vérifié) , 29 avril 2026

Bases du packfile

Un packfile regroupe plusieurs objets dans un fichier avec compression delta — au lieu de stocker chaque version d'un fichier en entier, des objets similaires partagent une base et stockent uniquement la différence. Le résultat est une réduction de taille de 5x à 50x sur des repos réels.

Inspecter les packs

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

Repacking géométrique

Le repacking géométrique (Git 2.32+) maintient une série de tailles de pack dans un ratio 1:N.

Multi-pack-index

git multi-pack-index write
git multi-pack-index verify

Réglage delta

[pack]
windowMemory = 256m
threads = 0
deltaCacheSize = 256m

Bitmaps d'atteignabilité

git repack -adb

Erreurs courantes

Supprimer manuellement les fichiers pack — Git les suit dans les métadonnées ; utilisez git repack.