Menu
Coddy logo textTech

Git Commit --amend

Ultimo aggiornamento

git commit --amend sostituisce il commit più recente con uno nuovo, permettendoti di correggerne il messaggio o di aggiungere file che avevi dimenticato di mettere in staging. Non aggiunge un secondo commit: riscrive l'ultimo. Siccome questo cambia l'hash del commit, fai l'amend solo di commit di cui non hai ancora fatto push.

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

git commit --amend sostituisce l'ultimo commit con una versione riscritta invece di aggiungere un secondo commit.

Sintassi

ComandoCosa fa
git commit --amendModifica l'ultimo commit e il suo messaggio
git commit --amend -m "new message"Cambia direttamente il messaggio dell'ultimo commit
git commit --amend --no-editAggiunge i file in staging, mantiene lo stesso messaggio

Casi comuni

ObiettivoComando
Correggere un refuso nell'ultimo messaggiogit commit --amend -m "fixed message"
Aggiungere un file dimenticato all'ultimo commitgit add file poi git commit --amend --no-edit
Modificare un commit già inviato (con cautela)amend, poi git push --force-with-lease

Domande frequenti su git commit --amend

Come cambio il messaggio del mio ultimo commit?
Esegui git commit --amend -m "new message" per sostituirlo direttamente, oppure git commit --amend per aprire l'editor e riscriverlo lì. Così riscrivi l'ultimo commit con il nuovo messaggio: non farlo su un commit di cui hai già fatto push, a meno che tu non voglia fare un force push.
Come aggiungo un file dimenticato all'ultimo commit?
Metti il file in staging con git add <file>, poi esegui git commit --amend --no-edit. L'opzione --no-edit mantiene il messaggio del commit esistente e aggiunge semplicemente le nuove modifiche in staging al commit precedente.
git commit --amend crea un nuovo commit?
No, sostituisce l'ultimo commit invece di aggiungerne uno. Il risultato sembra un unico commit, ma tecnicamente è un nuovo commit con un nuovo hash che prende il posto del vecchio. Per questo modificare la cronologia condivisa richiede un force push.
È sicuro fare l'amend di un commit già inviato?
Solo con cautela. L'amend riscrive il commit, quindi dopo il push ti servirebbe git push --force-with-lease, che può creare problemi a chi ha già fatto pull dell'originale. Su un branch condiviso preferisci un nuovo commit o git revert invece dell'amend.
Posso esercitarmi online?
Sì. Apri il terminal playground per eseguire git commit --amend in una vera shell nel tuo browser, senza installare nulla. Il corso interattivo gratuito di Git di Coddy spiega anche come correggere i commit passo dopo passo.
Illustrazione dei linguaggi di programmazione di Coddy

Impara Git con Coddy

INIZIA