git clean

Grundlegende Snapshots

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>...]
[ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option

Optionen

Klicke auf eine Option, um sie aufzuklappen

Einsteiger (3)

Löscht nichts, zeigt nur, was gelöscht würde.

EmpfohlenImmer erst prüfen, bevor Dateien endgültig gelöscht werden

Beispiel

git clean -n

Löscht die Dateien tatsächlich. Pflicht, außer clean.requireForce ist auf false gesetzt.

Bei BedarfPflicht zum Löschen; die Dateien sind endgültig weg

Beispiel

git clean -f

Löscht auch unverfolgte Ordner, nicht nur unverfolgte Dateien.

Bei BedarfNötig, wenn die Reste ganze Ordner sind

Beispiel

git clean -fd

Fortgeschritten (1)

Löscht auch Dateien, die .gitignore normalerweise schützt.

Nicht empfohlenLöscht auch ignorierte Dateien wie .env oder lokale Einstellungen

Beispiel

git clean -f -x

Die richtige Option wählen

Was jeder Befehl entfernt

Verfolgt oder unverfolgt

BefehlUnverfolgte DateienIgnorierte DateienÄnderungen an verfolgten Dateien
git clean -fGelöschtBehaltenBehalten
git clean -f -xGelöschtGelöschtBehalten
git restore .BehaltenBehaltenVerworfen
git stash -uGestashtBehaltenGestasht

Beispiele

Vorschau

git clean -n

Listet die unverfolgten Dateien, die gelöscht würden.


Unverfolgte Dateien löschen

git clean -f

Löscht sie endgültig.


Auch Ordner

git clean -fd

Löscht auch unverfolgte Ordner.

Workflow-Beispiele

1
git status -s

Die unverfolgten Dateien sehen (??)

2
git clean -n

Die Löschung vorab anzeigen

3
git clean -f

Sie 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

A:

Nein. Die Dateien wurden nie in Git gespeichert.

A:

Nein. Es löscht nur unverfolgte (und mit -x ignorierte) Dateien.

A:

Ja: mit git clean -i wählst du die Dateien einzeln aus.