git clean
Entfernt unverfolgte Dateien aus dem Arbeitsverzeichnis
Der Befehl 'git clean' löscht unverfolgte Dateien — Dateien, die Git nie gespeichert hat, etwa Logs, Build-Ergebnisse oder Experimente. Da Git keine Kopie davon hat, lassen sich gelöschte Dateien nicht wiederherstellen. Deshalb verweigert git clean ohne -f die Arbeit, und git clean -n zeigt vorher, was gelöscht würde. Dateien aus .gitignore bleiben erhalten, außer du ergänzt -x.
Syntax
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>...]Optionen
Die richtige Option wählen
Was jeder Befehl entfernt
Verfolgt oder unverfolgt
| Befehl | Unverfolgte Dateien | Ignorierte Dateien | Änderungen an verfolgten Dateien |
|---|---|---|---|
git clean -f | Gelöscht | Behalten | Behalten |
git clean -f -x | Gelöscht | Gelöscht | Behalten |
git restore . | Behalten | Behalten | Verworfen |
git stash -u | Gestasht | Behalten | Gestasht |
Beispiele
Vorschau
git clean -nListet die unverfolgten Dateien, die gelöscht würden.
Unverfolgte Dateien löschen
git clean -fLöscht sie endgültig.
Auch Ordner
git clean -fdLöscht auch unverfolgte Ordner.
Workflow-Beispiele
git status -sDie unverfolgten Dateien sehen (??)
git clean -nDie Löschung vorab anzeigen
git clean -fSie löschen
Fehlerbehebung
fatal: clean.requireForce is true and -f not given
Ursache: git clean verweigert das Löschen ohne -f
Führe git clean -n zur Vorschau aus, dann git clean -f
Ein unverfolgter Ordner wurde nicht gelöscht
Ursache: Ordner brauchen -d
Nutze git clean -fd
Ich habe eine Datei gelöscht, die ich brauchte
Ursache: Unverfolgte Dateien haben keine Kopie in Git
Git kann sie nicht wiederherstellen; prüfe deinen Editor oder Backups. Nutze nächstes Mal git stash -u
Tipps & Stolperfallen
Best Practices
- ✓Führe immer git clean -n vor git clean -f aus.
- ✓Nutze stattdessen git stash -u, wenn du die Dateien später noch brauchen könntest.
- ✓Verwende -x nur für Build-Ordner, die du neu erzeugen kannst.
Häufige Fehler
- ✗git clean -f ohne vorheriges -n ausführen und eine noch benötigte Datei verlieren.
- ✗-x aus Gewohnheit anhängen und ignorierte Dateien wie .env löschen.
- ✗Erwarten, dass git clean Änderungen an verfolgten Dateien rückgängig macht — dafür gibt es git restore.
FAQ
Nein. Die Dateien wurden nie in Git gespeichert.
Nein. Es löscht nur unverfolgte (und mit -x ignorierte) Dateien.
Ja: mit git clean -i wählst du die Dateien einzeln aus.