Abstract
Supponiamo di stare lavorando al nostro progetto utilizzando il tool di controllo versione Git
.
Può essere che o per errore o per distrazione si effettui un commit che non doveva essere fatto.
In questa situazione dobbiamo prontamente ripristinare l’ultimo commit.
Ma come si fa?
Esistono due comandi per annullare l’ultimo commit.
- Il comando
revert
- Il comando
reset
Comando revert
Il comando revert crea un nuovo commit che ripristina le modifiche del commit che vogliamo ripristinare.
Per utilizzarlo basterà, dopo aver aperto un terminale, usare il seguente comando.
|
|
Bene ma vediamo in dettaglio come usarlo.
- Lanciare il comando
git log
. - Ricercare il commit che si vuole ripristinare.
- Copiare la stringa alfanumerica specificata del commit da ripristinare.
- Usare il comando
git revert <commit to revert>
.
Esempio.
|
|
Dopo aver eseguito il comando verrà generato un nuovo commit per ripristinare le modifiche precedenti, senza cambiare la cronologia dei commit.
Comando reset
L’alternativa, per annullare l’ultimo commit, è il comando reset
.
C’è una piccola considerazione da tenere a mente, il comando reset modifica la cronologia dei commit ergo va usato raramente.
Il comando, una volta lanciato, sposta il HEAD al commit indicato e scarta tutto ciò che viene dopo.
Soft reset
Tra le opzioni dell’eseguibile reset, abbiamo --soft
che specifica di non eliminare le modifiche aggiunte da un git add
ma non validate.
|
|
Hard reset
L’altra opzione è --hard
, che ripristina l’ultimo commit e rimuovere anche tutte le modifiche non ancora validate.
|
|
Conclusione
Abbiamo imparato due modi per annullare l’ultimo commit e compreso quando usare uno piuttosto che l’altro. Ora, se vi siete accorti che l’ultimo commit non avrebbe dovuto essere validato, sapete come ripristinare la situazione!