Git: come modificare il messaggio di un commit? Ti sarà capitato di commentare male un commit, perciò cerchiamo di vedere assieme come poter risolvere!
All’interno di git, soprattutto nel tuo repository, ti sarà capitato almeno una volta di commentare male oppure in modo non completo un commit ma se sei qui è perchè vuoi capire come modificare e risolvere questo problema!
Come fare allora? Vediamo assieme come poter risolvere a seconda di due scenari differenti!
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Modificare il messaggio di un commit non ancora pushato
Questo è lo scenario più facile: il tuo commit è stato fatto, ma in locale.
Ti faccio un esempio:
commit f246abed3845de58f2bbb8e15049387f02e1ab7d (HEAD -> develop)
Author: Lorenzo Neri (Istorn)
Date: Tue May 4 07:35:04 2021 +0200
ho aggiun
… “Ho aggiun” cosa?
Insomma non è proprio fatto per bene eh? Allora cosa posso fare? Usare il flag “–amend”.
Usando il seguente comando:
git commit --amend
Si aprirà l’editor di testo a terminale, mostrando sia il messaggio del commit in questione, sia le modifiche registrate dallo stesso:
ho aggiun
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Tue May 4 07:35:04 2021 +0200
#
# On branch develop
# Changes to be committed:
# new file: file2
#
Molto chiaro vero? Ti dice anche che lasciare il messaggio vuoto dove non ci sono i cancelletti, significa “annullare il commit stesso”.

Perciò cosa fare per modificare il messaggio? Scrivere, semplicemente scrivere e modificare il messaggio.
Una volta effettuata la modifica il messaggio del commit cambierà.
E se… Il commit è stato già pushato?
Se il commit è stato già pushato, fai così…
Se vuoi modificare il commit, ma è già stato pushato e non vuoi fare figuracce con i tuoi colleghi beh… C’è la soluzione.
Di per sé non c’è niente di diverso da fare rispetto a quello che abbiamo già visto assieme.
L’unica cosa da fare, una volta che hai modifcato il messaggio del commit in questione, è eseguire il seguente comando:
git push origin nome_branch_in_questione --force
In questo modo andrai a registrare le modifiche anche sul repository in remoto ma!
Il flag “–force” fa capire che si tratta di un’operazione “brutale”.
E di fatto, se ci sono altre modifiche in corso, ci sono state altre persone che nel frattempo stanno pushando beh… Questo tuo comando andrà a sovrascrivere il tutto.