git repack

Administration

Empaqueter les objets libres dans des packfiles


La commande 'git repack' combine les objets libres (un fichier par objet) en packfiles — des fichiers compressés qui stockent les versions proches sous forme de petits deltas. Les dépôts empaquetés sont bien plus petits et rapides. git gc l’appelle pour vous ; la lancer directement sert aux réglages fins.

Synopsis

git repack [-a] [-d] [-f] [--depth=<n>] [--window=<n>]
[ ] facultatif| ou<arg> valeur à remplacer... répétable--flag option

Exemples

Tout empaqueter, retirer les anciens packs

git repack -a -d

Un seul packfile bien rangé.

Exemples de workflows

1
git count-objects -v

Nombre et taille des objets libres

2
git repack -a -d

Emballer

3
git count-objects -v

Les objets libres ont disparu

Dépannage

Le réempaquetage prend très longtemps

Cause : --aggressive ou une grande --window sur un gros dépôt

Utilisez les réglages par défaut via git gc

Astuces et pièges

Bonnes pratiques

  • ✓Préférez git gc, sauf si vous savez pourquoi il vous faut des options de repack.

FAQ

A:

Oui, il ne supprime jamais d’objets accessibles.