git prune

Administration

Supprimer les objets inaccessibles


La commande 'git prune' supprime les objets libres qu’aucune branche, aucun tag, aucun index ni aucune entrée du reflog n’atteint — par exemple des commits abandonnés depuis longtemps. Elle fait partie de git gc, qu’il vaut normalement mieux utiliser. Les objets supprimés ne peuvent pas être récupérés.

Synopsis

git prune [-n] [-v] [--expire <time>]
[ ] facultatif| ou<arg> valeur à remplacer... répétable--flag option

Exemples

Aperçu

git prune -n -v

Ce qui serait supprimé.


Via gc

git gc --prune=now

La méthode habituelle.

Exemples de workflows

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

Oublier le reflog

2
git prune

Supprimer les objets devenus inaccessibles

Dépannage

Rien n’est supprimé

Cause : Le reflog référence encore les objets

Faites d’abord expirer le reflog (ou attendez 90/30 jours)

Astuces et pièges

Bonnes pratiques

  • ✓Utilisez git gc plutôt que d’appeler prune directement.

Erreurs fréquentes

  • ✗Confondre git prune avec git remote prune (qui retire les branches distantes périmées).

FAQ

A:

Non. Lancez d’abord git fsck --lost-found en cas de doute.