Vai al contenuto principale

Git Clean: rimuovi i file non tracciati e mantieni i repo in ordine

Padroneggia git clean per rimuovere in sicurezza file e directory non tracciati. Scopri le opzioni chiave, la modalità interattiva e le buone pratiche per prevenire la perdita di dati.
Aggiornato 29 set 2026  · 8 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Quando lavori su un repository Git, è normale accumulare file e directory non tracciati che non fanno parte del sistema di controllo versione del repository. Possono essere file temporanei, artefatti di build o altri file creati in locale che non vengono commitati. Con il tempo, questi file possono affollare la working directory, rendendo più difficile mantenere uno spazio di lavoro pulito e ordinato.

Per risolvere questo problema, Git fornisce il comando git clean, che rimuove file e directory non tracciati. In questa guida ti mostrerò come usare in sicurezza git clean, le sue diverse opzioni e le buone pratiche per evitare eliminazioni indesiderate mantenendo il tuo repository Git in ordine. Per approfondire,  ti consiglio i corsi Foundations of Git e Introduction to GitHub Concepts per imparare il controllo versione e la differenza tra Git e GitHub.

Capire git clean

Il comando git clean è uno strumento utile in Git che rimuove i file non tracciati dalla working directory. Il comando git clean è utile quando hai bisogno di riportare la tua working directory a uno stato impeccabile, ad esempio prima di cambiare branch o dopo aver eseguito processi di build che generano file temporanei. Tuttavia, il comando git clean va usato con cautela perché elimina in modo permanente file e directory non tracciati senza spostarli nel cestino.

A differenza di git reset o git checkout, che modificano i file tracciati, git clean gestisce esclusivamente file e directory che non sono sotto controllo versione. Questo include:

  • File temporanei creati dalle build

  • File di log o dati in cache

  • File elencati in .gitignore (se specificato esplicitamente con -x)

Il comando git clean è utile per mantenere ordinata la working directory, completando altri comandi Git come git reset e git checkout, che gestiscono le modifiche ai file tracciati.

Trovo che la Complete Git Cheat Sheet sia una pratica guida di riferimento per i comandi Git più comuni.

Utilizzi comuni di git clean

Il comando git clean è uno strumento utile per mantenere pulita la working directory. Di seguito alcuni casi d’uso comuni in cui git clean può rimuovere in sicurezza file e directory non necessari.

Rimozione dei file non tracciati

Lavorando in un repository Git, i file non tracciati possono accumularsi nel tempo. Le seguenti opzioni aiutano a rimuoverli:

  • git clean -f: forza la rimozione dei file non tracciati.

  • git clean -fd: rimuove file e directory non tracciati.

  • git clean -fx: rimuove file non tracciati e ignorati, come quelli elencati in .gitignore.

Tuttavia, usa con cautela l’opzione -fx perché rimuove anche i file ignorati. Verifica sempre con una simulazione (git clean -n) prima di eseguire il comando.

Modalità interattiva

Il comando git clean -i abilita una modalità interattiva, permettendo di rimuovere selettivamente i file non tracciati. Questa modalità è utile quando vuoi avere più controllo su quali file o directory eliminare.

Supponiamo che tu stia lavorando a un progetto in cui hai già salvato le modifiche nella cartella Olympics. Tuttavia, hai aggiunto nuove fonti dati chiamate 2024_Data e 2025_Data. Se esegui il comando git clean -i, otterrai un prompt che ti permette di scegliere tra le seguenti opzioni per eliminare le modifiche non tracciate.

  • clean: rimuovi i file selezionati

  • filter: specifica un pattern per i file da pulire

  • select: scegli singoli file per numero

  • quit: esci senza eliminare nulla

git clean -i interactive mode.

git clean -i, modalità interattiva. Immagine dell’autore.

Simulazione per sicurezza

Usare l’opzione git clean -n è una utile misura di sicurezza perché esegue una "simulazione", mostrando l’elenco di file e directory non tracciati che verrebbero rimossi senza eliminarli davvero. Questo ti permette di rivedere le modifiche prima di applicarle.

Nell’esempio seguente, il comando git clean -n elenca i file che dovrebbero essere eliminati ma non li cancella.

git clean -n for dry run.

git clean -n per la simulazione. Immagine dell’autore.

Combinazione con git reset

Per reimpostare completamente una working directory Git, puoi combinare git reset e git clean dove:

  • git reset --hard: ripristina i file tracciati all’ultimo stato commitato, scartando eventuali modifiche locali.

  • git clean -fd: rimuove file e directory non tracciati, lasciando solo i file commitati.

Questa combinazione garantisce una working directory completamente pulita, utile quando cambi branch, annulli modifiche sperimentali o ti prepari a ripartire da zero.

Dai un’occhiata al tutorial Git Pull Force: How to Overwrite a Local Branch With Remote per imparare le buone pratiche per sovrascrivere le modifiche locali.

Guida passo passo all’uso di git clean

Segui questi passaggi per pulire in sicurezza il tuo repository Git e rimuovere file e directory non tracciati indesiderati.

Passaggio 1: verifica lo stato attuale

Prima di pulire, esegui git status per controllare lo stato attuale del repository e vedere quali file sono non tracciati.

git status

git status to check the current state of the repository.

git status per verificare lo stato attuale del repository. Immagine dell’autore.

Passaggio 2: anteprima di ciò che verrà rimosso

Prima di eseguire qualsiasi comando di rimozione, usa git clean -n per visualizzare in anteprima ciò che verrà rimosso.

git clean -n

git clean -n to preview what to delete.

git clean -n per vedere in anteprima cosa eliminare. Immagine dell’autore.

Passaggio 3: rimuovi i file non tracciati

Esegui git clean -f per rimuovere i file non tracciati se l’anteprima è corretta.

git clean -f

Remove untracked changes using git clean -f.

Rimuovi le modifiche non tracciate con git clean -f. Immagine dell’autore.

Passaggio 4: rimuovi le directory non tracciate

Usa git clean -fd per rimuovere le directory non tracciate.

git clean -fd

Remove untracked directories using git clean -fd.

Rimuovi le directory non tracciate con git clean -fd. Immagine dell’autore.

Passaggio 5: rimuovi i file ignorati

Per rimuovere sia i file non tracciati sia quelli ignorati, usa il comando git clean -fx.

git clean -fx

Passaggio 6: usa la modalità interattiva per una pulizia selettiva

Per avere più controllo, valuta l’uso di git clean -i per la rimozione interattiva. Questa modalità ti permette di selezionare singolarmente quali file eliminare.

Git clean -i

git clean -i interactive mode for selective cleaning.

git clean -i, modalità interattiva per una pulizia selettiva. Immagine dell’autore.

git clean vs. altri comandi Git

Il comando git clean viene spesso confrontato con altri comandi Git che modificano o reimpostano i file. La tabella seguente evidenzia le differenze principali:

Comando Funzione
git clean Rimuove in modo permanente file e directory non tracciati.
git reset Ripristina i file tracciati a uno stato precedente, influendo su modifiche in stage e commitate.
git checkout (o git restore) Scarta le modifiche nei file tracciati ma non li rimuove.
git stash Salva temporaneamente sia le modifiche tracciate sia quelle non tracciate per un uso successivo.

Buone pratiche per Git Clean

Per usare git clean in modo sicuro ed efficace, segui queste buone pratiche:

  • Usa la simulazione (-n) prima di eliminare: usa sempre l’opzione git clean -n per una simulazione prima di eseguire git clean. Ti permette di vedere in anteprima quali file verranno rimossi senza eliminarli davvero.

  • Fai attenzione ai file ignorati: quando usi git clean, fai attenzione all’opzione -x, che rimuove i file ignorati. Potrebbe eliminare file di configurazione importanti elencati in .gitignore. Se hai bisogno di rimuovere i file ignorati, usa il comando git clean -fx.

  • Combinalo con Git Reset per una pulizia completa: per azzerare completamente il repository, combina git reset con git clean, dove git reset --hard ripristina i file tracciati all’ultimo stato commitato e git clean -fd rimuove file e directory non tracciati.

  • Usa la modalità interattiva (-i) per eliminazioni più sicure: invece di rimuovere i file alla cieca, usa la modalità interattiva (git clean -i) per rivedere e selezionare i file da eliminare.

Rischi potenziali e precauzioni

Usare git clean può essere rischioso se non lo si fa con attenzione, perché elimina i file in modo permanente senza conservarli da nessuna parte. Ecco alcuni rischi chiave e precauzioni da considerare:

  • I file vengono eliminati in modo permanente: a differenza di git stash, che salva temporaneamente le modifiche, git clean elimina in modo permanente file e directory non tracciati. Una volta rimossi, questi file non possono essere recuperati tramite Git. Se potresti averne bisogno in seguito, valuta di metterli in stash o farne il backup prima di eseguire il comando git clean.

  • Attenzione all’opzione -x: usare git clean -fx rimuove i file ignorati, che possono includere file di configurazione importanti elencati in .gitignore o cache di dipendenze come node_modules/ e venv/. Rimuoverli accidentalmente può compromettere build o ambienti di sviluppo, quindi usa questa opzione solo quando necessario.

  • Esegui prima una simulazione: esegui sempre una simulazione con git clean -n prima di git clean -f. Questo passaggio ti permette di vedere in anteprima quali file verranno eliminati, aiutandoti a evitare la rimozione accidentale di file importanti

  • Approcci alternativi: in alcuni scenari, usare git stash può essere una scelta migliore rispetto a git clean. Il comando git stash -u mette in stash i file non tracciati, escludendo i file ignorati per un possibile recupero successivo, e git stash pop ripristina le modifiche messe in stash se necessario. Questo metodo è utile quando devi cambiare branch o ripulire l’ambiente di lavoro senza perdere definitivamente le modifiche.

Conclusione

Un codebase ben mantenuto dimostra attenzione ai dettagli, efficienza e capacità di gestire responsabilmente le risorse digitali. I datori di lavoro cercano sviluppatori che conoscano buone pratiche come usare git clean -n prima di eliminare file, fare attenzione ai file ignorati con -x e sfruttare alternative più sicure come git stash.

Seguire i corsi DataCamp non è solo un ottimo modo per imparare, ma anche un modo efficace per dimostrare ai datori di lavoro che prendi sul serio lo sviluppo software. A tal fine, ti consiglio di studiare il post Top 20 Git Interview Questions and Answers for All Levels e di seguire il nostro nuovo skill track Git Fundamentals per diventare esperto di tutto ciò che riguarda Git.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Technical writer di Data Science con esperienza pratica in data analytics, business intelligence e data science. Scrivo contenuti pratici e orientati al settore su SQL, Python, Power BI, Databricks e data engineering, basati su lavoro di analytics reale. La mia scrittura unisce profondità tecnica e impatto sul business, aiutando i professionisti a trasformare i dati in decisioni sicure.

Git Clean: domande frequenti

Che cosa fa git clean?

git clean rimuove file e directory non tracciati dalla tua working directory Git.

git clean elimina i file commitati?

No, git clean rimuove solo i file non tracciati e non influisce sui file commitati o in stage.

Come posso vedere in anteprima i file prima di eliminarli?

Usa git clean -n per eseguire una simulazione e vedere quali file verranno rimossi.

Qual è la differenza tra git clean -f e git clean -fd?

git clean -f rimuove i file non tracciati, mentre git clean -fd rimuove anche le directory non tracciate.

In cosa git clean è diverso da git reset?

git clean rimuove i file non tracciati, mentre git reset ripristina i file tracciati a uno stato precedente.

Esiste un modo per eliminare i file in modo selettivo?

Sì, usa git clean -i per la modalità interattiva, che ti permette di scegliere i file da eliminare.

Argomenti
Git
Data Engineering

Impara Git con DataCamp

Corso

Introduzione a Git

2 ore
105.1K
Scopri le basi di Git per gestire le versioni nei tuoi progetti software e dati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Mostra AltroMostra Altro