Übersicht
git clean [-d] [-f] [-x | -X] [-n] [-i] [<path>...]
Beschreibung
Der git clean-Befehl entfernt untracked Dateien aus dem Working Tree. Standardmäßig erfordert er -f (oder clean.requireForce = false) als Sicherheitsmaßnahme, weil Löschungen unwiderruflich sind. Mit -d entfernt er auch untracked Verzeichnisse, und -x entfernt zusätzlich Dateien, die normalerweise ignoriert werden (Build-Outputs, Dependency-Caches).
Führen Sie immer zuerst git clean -n aus, um zu sehen, welche Dateien gelöscht werden. Der interaktive Modus (-i) erlaubt Ihnen, die Liste zu bestätigen oder zu filtern. git clean ist das richtige Werkzeug, um ein Projekt in einen makellosen Zustand zurückzusetzen, besonders vor dem Debuggen von Build-Problemen.
Im täglichen Einsatz integriert sich git clean eng mit Shell-Aliasen, Editor-Plugins und Continuous Integration. Power-User fügen oft Aliase hinzu, die Flags kombinieren, die sie immer übergeben, oder wickeln den Befehl in Skripte, die Teamkonventionen durchsetzen. Die Ausgabeformatierung kann über Git-Config angepasst werden — Pretty-Formate, Farbschemata und Pager-Verhalten sind alle einstellbar. Wenn etwas schiefgeht, ist der erste Diagnoseschritt üblicherweise, den Befehl erneut mit GIT_TRACE=1 in der Umgebung auszuführen, was die zugrunde liegenden Plumbing-Aufrufe offenlegt. Für ungewöhnliche Situationen öffnet die --help-Ausgabe (git clean --help) die vollständige Manpage mit Details zu jeder Option, einschließlich solcher, die in alltäglichen Workflows selten verwendet werden, aber für Debugging oder Skripting im großen Maßstab essentiell sind.
Zu verstehen, wie git clean mit dem Rest von Gits Datenmodell interagiert — der Objektdatenbank, dem Index, Refs und dem Working Tree — zahlt sich aus. Jeder Befehl operiert auf einer Teilmenge dieser Stücke, und zu wissen, welche er berührt, hilft Ergebnisse vorherzusagen und sich von Fehlern zu erholen. Das Lesen der offiziellen Git-Dokumentation neben praktischer Übung in einem Wegwerf-Repository ist der schnellste Weg, die Nuancen zu verinnerlichen. Die meisten Produktionsprobleme mit Git rühren von einer von drei Ursachen: überraschendem Standardverhalten, partiellen Netzwerkoperationen oder dem Umschreiben bereits geteilter Historie. Ein funktionierendes mentales Modell der Nebenwirkungen von git clean hilft, alle drei zu vermeiden.
Häufige Optionen
| Option | Beschreibung |
|---|---|
-f, --force | Erforderlich, um tatsächlich zu löschen (es sei denn, die Konfiguration deaktiviert dies). |
-n, --dry-run | Zeigt, was gelöscht würde, löscht nicht. |
-d | Entfernt auch untracked Verzeichnisse. |
-x | Entfernt auch ignorierte Dateien. |
-X | Entfernt nur ignorierte Dateien. |
-i, --interactive | Interaktive Auswahl. |
-e <pattern> | Schließt Dateien aus, die auf das Muster passen. |
Beispiele
git clean -nd
# Vorschau, was gelöscht würde (Verzeichnisse einbezogen)
git clean -fd
# Untracked Dateien und Verzeichnisse tatsächlich löschen
git clean -fdx
# Plus ignorierte Dateien (vollständiger Reset auf makellos)
git clean -i
# Interaktiv: auswählen, was gelöscht werden soll
Häufige Fehler
git clean -fdx löscht node_modules, Build-Artefakte, IDE-Einstellungen und sogar .env-Dateien, falls diese gitignoriert sind. Verwenden Sie immer zuerst -n zur Vorschau. Seien Sie besonders vorsichtig in Submodules — clean operiert pro Repository.
Verwandte Befehle
git status, git stash, git reset, git rm