Menu
Coddy logo textTech

Git Undo Last Commit: annullare l'ultimo commit

Ultimo aggiornamento

Per annullare il commit più recente, decidi cosa deve succedere alle sue modifiche. Tienile in staging con git reset --soft HEAD~1, tienile fuori dallo staging con un semplice git reset HEAD~1, oppure buttale via con git reset --hard HEAD~1. Se il commit è solo leggermente sbagliato, git commit --amend lo corregge sul posto. Se ne hai già fatto il push, usa git revert invece di riscrivere la cronologia. Per annullare un commit più vecchio o più commit insieme, consulta la pagina git undo commit.

Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.

Annullare l'ultimo commit sposta HEAD indietro di un passo: la modalità decide se le modifiche restano in staging, fuori dallo staging o vengono scartate.

Scegli cosa fare con le modifiche

ObiettivoComando
Annullare il commit, modifiche in staginggit reset --soft HEAD~1
Annullare il commit, modifiche fuori dallo staginggit reset HEAD~1
Annullare il commit, scartare le modifichegit reset --hard HEAD~1
Correggere l'ultimo commit (messaggio o file)git commit --amend
Annullare un commit già inviatogit revert HEAD

Esempio pratico

Annulla l'ultimo commit e rifallo con un messaggio migliore.

PassoComandoRisultato
1git reset --soft HEAD~1Commit rimosso, le modifiche restano in staging
2git commit -m "clearer message"Rifai il commit delle stesse modifiche

Domande frequenti su git undo last commit

Come annullo l'ultimo commit mantenendo le modifiche?
Esegui git reset --soft HEAD~1. Questo rimuove l'ultimo commit ma lascia le sue modifiche in staging, così puoi rifare subito il commit. Se invece vuoi le modifiche fuori dallo staging nella directory di lavoro, usa git reset HEAD~1 (la modalità predefinita).
Come annullo l'ultimo commit ed elimino le modifiche?
Esegui git reset --hard HEAD~1. Questo rimuove il commit e scarta le sue modifiche dalla directory di lavoro. È distruttivo: se il lavoro potrebbe servirti, usa invece --soft, oppure recuperalo in seguito con git reflog.
E se devo solo correggere il messaggio del commit?
Usa git commit --amend. Riapre l'ultimo commit così puoi modificarne il messaggio (e rimettere file in staging se serve) senza creare un commit separato. Evita di fare l'amend di un commit già inviato, perché riscrive la cronologia.
Come annullo l'ultimo commit dopo averne fatto il push?
Usa git revert HEAD. Il revert crea un nuovo commit che inverte l'ultimo, lasciando intatta la cronologia: è la scelta sicura per i branch condivisi. Fare il reset di un commit già inviato costringe tutti gli altri a riconciliare un branch riscritto.
Posso esercitarmi online?
Sì. Apri il terminal playground per eseguire questi comandi in una vera shell nel tuo browser, senza installare nulla. Il corso interattivo gratuito di Git di Coddy spiega anche come annullare le modifiche passo dopo passo.
Illustrazione dei linguaggi di programmazione di Coddy

Impara Git con Coddy

INIZIA