Sinossi
git clean [-d] [-f] [-x | -X] [-n] [-i] [<path>...]
Descrizione
Il comando git clean rimuove file untracked dalla working tree. Per default richiede -f (o clean.requireForce = false) come misura di sicurezza perché le cancellazioni sono irreversibili. Con -d rimuove anche directory untracked, e -x rimuove inoltre file normalmente ignorati (output di build, cache di dipendenze).
Esegui sempre prima git clean -n per anteprima dei file che saranno cancellati. La modalità interattiva (-i) ti permette di confermare o filtrare la lista. git clean è lo strumento giusto per resettare un progetto a uno stato pulito, specialmente prima di debuggare problemi di build.
Nell'uso quotidiano, git clean si integra con alias e CI.
Capire il modello dati di Git aiuta a prevedere i risultati.
Opzioni comuni
| Opzione | Descrizione |
|---|---|
-f, --force | Richiesto per cancellare effettivamente (a meno che la config non lo disabiliti). |
-n, --dry-run | Mostra cosa verrebbe cancellato, non cancella. |
-d | Rimuove anche directory untracked. |
-x | Rimuove anche file ignorati. |
-X | Rimuove solo file ignorati. |
-i, --interactive | Selezione interattiva. |
-e <pattern> | Esclude file che fanno match al pattern. |
Esempi
git clean -nd
# Anteprima di cosa verrebbe cancellato (incluse dir)
git clean -fd
# Cancella effettivamente file e directory untracked
git clean -fdx
# Più i file ignorati (reset completo a stato pulito)
git clean -i
# Interattivo: scegli cosa cancellare
Errori comuni
git clean -fdx cancella node_modules, artefatti di build, impostazioni dell'IDE e anche file .env se sono gitignored. Anteprima sempre con -n prima. Fai particolarmente attenzione nei submodule — clean opera per repository.
Comandi correlati
git status, git stash, git reset, git rm