Vai al contenuto
GitTree
Guide Git4 minuti di lettura

Come eliminare le modifiche locali e rimuovere i file non tracciati in Git

Tre diversi comandi cancellano tre diversi tipi di modifica. Ecco come eliminare modifiche, modifiche graduali e nuovi file, un file o tutto, e come visualizzarne prima l'anteprima in modo che non contengano nulla di importante.

Scritto da Kodmora

La software house dietro GitTree

Aggiornato
  • Annullamento e ripristino
  • Staging
In questa pagina

Per eliminare le modifiche ai file tracciati, esegui `git restore .`. Per rimuovere file e cartelle non tracciati, esegui `git clean -fd`. Per tornare completamente all'ultimo commit, esegui `git reset --hard` seguito da `git clean -fd`. Git non può ripristinare queste modifiche in seguito, quindi visualizza prima l'anteprima con git status e git clean -nd.

Quale comando scarta cosa?

Comandi per ogni tipo di modifica
Quello che vuoi sparireComando
Modifiche a un file tracciatogit restore path/to/file
Modifiche a tutti i file tracciatigit restore .
Modifiche graduali, mantenendo le modifichegit restore --staged .
Modifiche e modifiche gradualigit restore --staged --worktree .
Nuovi file che Git non tiene tracciagit clean -f
Nuovi file e cartellegit clean -fd
Tutto dall'ultimo commitgit reset --hard poi git clean -fd

Come posso eliminare le modifiche apportate a un file?

git restore src/search.ts

# only some of the changes, hunk by hunk
git restore -p src/search.ts

# the same file as it was on another branch
git restore --source=main src/search.ts

Le guide più vecchie utilizzano git checkout -- src/search.ts. Funziona ancora, ma git restore (Git 2.23 o successivo) fa solo questo lavoro, quindi è più difficile da abusare.

Come faccio a eliminare tutte le modifiche locali?

# tracked files, staged or not
git reset --hard

# then untracked files and folders
git clean -fd

# confirm
git status
# nothing to commit, working tree clean

git reset --hard senza commit mantiene il ramo dov'è e cancella solo i file. Spiegazione di Git reset spiega cosa fa quando dai un nome a un commit.

Come posso rimuovere dallo stage un file senza perderlo?

git restore --staged src/search.ts

Il file lascia l'area di gestione temporanea e le modifiche rimangono nella cartella di lavoro. Niente viene cancellato.

Come posso rimuovere i file non tracciati con git clean?

Visualizza sempre prima l'anteprima. -n è una prova, che elenca solo cosa andrebbe:

# preview files and folders
git clean -nd

# delete them
git clean -fd

# ask about each one
git clean -id
opzioni git clean
BandieraSignificato
-nProva: elenca solo, non elimina nulla
-fForza: necessaria per eliminare qualsiasi cosa
-dIncludi cartelle non tracciate
-iInterattivo: scegli cosa va
-xElimina anche i file ignorati, come .env e node_modules
-XElimina solo i file ignorati

Posso recuperare le modifiche scartate?

  • Lavoro confermato: sì, fino a git reflog.
  • Lavoro nascosto: sì. Spesso è possibile trovare anche una scorta caduta, come mostrato in recuperare una scorta caduta.
  • Organizzato ma mai confermato: a volte, con git fsck --lost-found.
  • Mai in stage: no. La cronologia locale del tuo editore potrebbe ancora averla.

Se un file è stato eliminato e sottoposto a commit, come ripristinare un file eliminato contiene i passaggi.

Come eliminare le modifiche in GitTree

  1. Scegli cosa buttare

    Passa il mouse su un file nel pannello delle modifiche e seleziona Annulla modifiche al file… oppure fai clic con il pulsante destro del mouse su diversi file per Annulla modifiche…. In un confronto, usa Discard Hunk o Discard Lines.

  2. Pulisci o cancella tutto

    Esegui Pulisci file non tracciati… o Elimina tutte le modifiche… dal riquadro dei comandi.

  3. Leggi la conferma

    La finestra di dialogo indica ciò che accade e Annulla è l'impostazione predefinita. GitTree salva prima uno snapshot di ripristino, quindi Annulla può ripristinarlo.

Eliminazione di un file in GitTree: passa il mouse sul file, premi scarta, leggi la conferma.
Eliminazione di un file in GitTree: passa il mouse sul file, premi scarta, leggi la conferma.GitTree interfaccia con un repository dimostrativo.

Vedi annulla modifiche e pulisci file non tracciati per ogni opzione e la lezione su ignora e pulisci per esercitarti.

Domande frequenti

Qual è la differenza tra git Restore e git Checkout?

git checkout cambia ramo e ripristina file. Git 2.23 divide questi lavori in git switch e git restore, che sono più chiari. Il vecchio modulo funziona ancora.

Git reset --hard rimuove i file non tracciati?

No. Reimposta solo i file tracciati. I nuovi file rimangono finché non esegui git clean -fd.

Perché git clean dice "rifiutarsi di pulire"?

Git richiede -f per impostazione predefinita (clean.requireForce) in modo che un errore di battitura non possa eliminare i file. Aggiungi -f una volta che il test sembra corretto.

Git clean elimina i file ignorati?

No, a meno che non aggiungi -x o -X. Un semplice git clean -fd lascia tutto in .gitignore da solo.

Come posso mantenere le modifiche ma ottenere una cartella pulita?

Esegui git stash -u. Salva le modifiche tracciate e non tracciate e cancella la cartella. Riportali più tardi con git stash pop, come spiega la guida alla scorta.

Fonti

Le affermazioni su altri prodotti sono state confrontate con le rispettive pagine ufficiali in data 7 novembre 2026. Cambiano prezzi e caratteristiche; le pagine dei venditori sono la fonte della verità.