git prune
Löscht unerreichbare Objekte
Der Befehl 'git prune' löscht lose Objekte, die kein Branch, Tag, Index oder Reflog-Eintrag erreicht — etwa längst zurückgelassene Commits. Er ist Teil von git gc, das du normalerweise stattdessen nutzt. Gelöschte Objekte lassen sich nicht wiederherstellen.
Syntax
git prune [-n] [-v] [--expire <time>]Beispiele
Vorschau
git prune -n -vWas gelöscht würde.
Über gc
git gc --prune=nowDer übliche Weg.
Workflow-Beispiele
git reflog expire --expire=now --allDen Reflog vergessen
git pruneDie jetzt unerreichbaren Objekte löschen
Fehlerbehebung
Nichts wird entfernt
Ursache: Der Reflog verweist noch auf die Objekte
Lass zuerst den Reflog verfallen (oder warte 90/30 Tage)
Tipps & Stolperfallen
Best Practices
- ✓Nutze git gc, statt prune direkt aufzurufen.
Häufige Fehler
- ✗git prune mit git remote prune verwechseln (das veraltete Remote-Branches entfernt).
FAQ
Nein. Führe im Zweifel zuerst git fsck --lost-found aus.