Come annullare l’ultimo Git local commit

Cerca

Se accidentalmente si esegue un commit dei file sbagliati, ma non si è ancora eseguito il push delle modifiche, si può facilmente tornare allo stato precedente usando pochi semplici comandi.

Ipotizziamo ora di aver eseguito erroneamente questo commit:

				
					git commit -m "Uno sfavillante commit errato"
				
			

Come annullare un commit errato

I comandi git da eseguire sono pochi, ma decisamente efficaci e sono condensati tutti qui:

				
					git reset HEAD
[modifiche ai file]
git add .
git commit -c ORIG_HEAD
				
			

Proviamo ora ad entrare maggiormente nel dettaglio spiegandoli uno a uno.

Primo step: git reset

Il primissimo passo è git reset, che è il comando responsabile dell’annullamento dell’ultimo commit lasciando il working tree (lo stato dei nostri file) intatto. Quindi se il nostro commit contiene sia file corretti che file errati, dobbiamo ricordarci che quelli corretti dovranno essere aggiunti nuovamente.

Secondo step: modifiche ai file

A questo punto possiamo eseguire tutte le correzioni necessarie nel nostro working tree modificando il codice o rimuovendo eventuali errori commessi.

Terzo step: git add

Possiamo ora aggiungere tutti i nuovi file che saranno oggetto del nuovo commit.

Quarto step: git commit

Questo passaggio è fondamentale, è infatti quando tutte le nuove modifiche vengono applicate con un nuovo (e corretto) commit. Il comando reset lanciato all’inizio aveva copiato il vecchio head in .git/ORIG_HEAD, ora il comando commit -c ORIG_HEAD apre un editor e mostra il messaggio del vecchio (ed errato) commit permettendoci così di modificarlo.

Conclusione

Dopo aver rimediato all’errore, se vogliamo inviare il nostro commit al server, possiamo eseguire un semplice e tradizionale push:

				
					git push
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come installare Borg su Synology NAS

Installare Borg su Synology NAS è cosa molto semplice da realizzare in quanto è possibile farlo mediante il package rilasciato da SynoCommunity. Vediamo in questa

Come ottenere l’URL corrente in Jinja2

Stiamo sviluppando una applicazione con Flask che usa Jinja2 come template engine. All’interno del template html che stiamo sviluppando abbiamo bisogno di ottenere l’URL corrente

Partners