Se sei interessato ad imparare Git, abbiamo una guida che fa al caso tuo.
Oh no, presi dalla frenesia abbiamo modificato nuovamente quel file dopo il commit.
Per annullare l’ultimo commit eseguito e riportare i file fuori dallo stage come file modificati e unstaged, non esiste un comando ufficiale. Dobbiamo quindi effettuare un reset e rieseguire il commit. Vediamo come:
$ git commit -m "Oh No! Tragico errore!"
Dopo il nostro commit “sbagliato”, eseguiamo un git reset in in questo modo:
$ git reset HEAD~
Questo comando dice a git di lasciare la nostra directory di lavoro com’era prima dell’ultimo commit e lo annulla. A questo punto riavrete i file come unstaged proprio come se fossimo tornati in dietro nel tempo. A questo punto eseguiamo le modifiche che desideriamo ed aggiungiamoli con git add:
$ git add ..
A questo punto eseguiamo il commit delle modifiche riusando il vecchio messaggio di commit. Il comando git reset ha, a tutti gli effetti, spostato il “vecchio” HEAD in .git/ORIG_HEAD :
$ git commit -C ORIG_HEAD
Se volessimo riscrivere il messaggio di commit e non utilizzare quello precedente, possiamo indicare il flag -c (quindi minuscola): si aprirà un editor in cui scrivere il nuovo messaggio di commit.