Annullamento dei Commit
Nel vasto panorama del controllo di versione con Git, una situazione comune è la necessità di annullare le modifiche introdotte da uno specifico commit. Questo può avvenire per diversi motivi, come la scoperta di un bug, la constatazione che una funzionalità non è pronta per la produzione, o semplicemente il desiderio di adottare un approccio diverso.
Fortunatamente, Git offre il comando git revert
per creare un nuovo commit che annulla le modifiche introdotte da uno specifico commit, applicando l’inverso delle modifiche di quel commit.
Annullare l’ultimo commit
Per annullare l’ultimo commit, utilizzare il seguente comando:
git revert HEAD
HEAD è un puntatore all’ultimo commit sul branch corrente.
Poiché ora lavoriamo solo con un singolo branch, HEAD punta semplicemente all'ultimo commit. Questo comando crea un nuovo commit che annulla le modifiche apportate nell'ultimo commit. Git aprirà l'editor di testo predefinito per consentire la modifica del messaggio di commit, se necessario. Salvare e chiudere l'editor per completare il revert.
Esempio di workflow
Aggiungiamo prima una nuova riga al file recipe.txt
con un altro passaggio e committiamo direttamente questa modifica saltando l'area di staging:
Ora possiamo mostrare le informazioni dettagliate di questo commit utilizzando il comando git show
con HEAD
:
Ops, tutte le righe precedenti sono state eliminate. Sembra che sia stato utilizzato l'operatore di output sbagliato, ovvero >
invece di >>
, il che ha causato la sovrascrittura del file. Nessun problema, useremo il comando git revert
per annullare queste modifiche nell'ultimo commit:
Come puoi vedere, si apre l'editor di testo predefinito (Vim nel mio caso) con il messaggio di commit predefinito. Per ora lo lasciamo così com'è, ma nei progetti reali è spesso meglio aggiungere la motivazione del rollback, ad esempio:
Per salvare le modifiche ed uscire da Vim, premere il tasto Escape e due volte la lettera Z maiuscola.
Infine, è possibile esaminare le modifiche presenti negli ultimi due commit:
Fondamentalmente, come previsto, è stato creato un nuovo commit con le modifiche inverse.
Utilizzare le frecce per scorrere verso l'alto o il basso e premere il tasto q per uscire.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.57
Annullamento dei Commit
Scorri per mostrare il menu
Nel vasto panorama del controllo di versione con Git, una situazione comune è la necessità di annullare le modifiche introdotte da uno specifico commit. Questo può avvenire per diversi motivi, come la scoperta di un bug, la constatazione che una funzionalità non è pronta per la produzione, o semplicemente il desiderio di adottare un approccio diverso.
Fortunatamente, Git offre il comando git revert
per creare un nuovo commit che annulla le modifiche introdotte da uno specifico commit, applicando l’inverso delle modifiche di quel commit.
Annullare l’ultimo commit
Per annullare l’ultimo commit, utilizzare il seguente comando:
git revert HEAD
HEAD è un puntatore all’ultimo commit sul branch corrente.
Poiché ora lavoriamo solo con un singolo branch, HEAD punta semplicemente all'ultimo commit. Questo comando crea un nuovo commit che annulla le modifiche apportate nell'ultimo commit. Git aprirà l'editor di testo predefinito per consentire la modifica del messaggio di commit, se necessario. Salvare e chiudere l'editor per completare il revert.
Esempio di workflow
Aggiungiamo prima una nuova riga al file recipe.txt
con un altro passaggio e committiamo direttamente questa modifica saltando l'area di staging:
Ora possiamo mostrare le informazioni dettagliate di questo commit utilizzando il comando git show
con HEAD
:
Ops, tutte le righe precedenti sono state eliminate. Sembra che sia stato utilizzato l'operatore di output sbagliato, ovvero >
invece di >>
, il che ha causato la sovrascrittura del file. Nessun problema, useremo il comando git revert
per annullare queste modifiche nell'ultimo commit:
Come puoi vedere, si apre l'editor di testo predefinito (Vim nel mio caso) con il messaggio di commit predefinito. Per ora lo lasciamo così com'è, ma nei progetti reali è spesso meglio aggiungere la motivazione del rollback, ad esempio:
Per salvare le modifiche ed uscire da Vim, premere il tasto Escape e due volte la lettera Z maiuscola.
Infine, è possibile esaminare le modifiche presenti negli ultimi due commit:
Fondamentalmente, come previsto, è stato creato un nuovo commit con le modifiche inverse.
Utilizzare le frecce per scorrere verso l'alto o il basso e premere il tasto q per uscire.
Grazie per i tuoi commenti!