Annullamento dei Commit
Nel vasto panorama del controllo di versione con Git, una situazione comune è la necessità di annullare le modifiche introdotte da un commit specifico. Questo può avvenire per diversi motivi, come la scoperta di un bug, la consapevolezza che una funzionalità non è pronta per la produzione, o semplicemente il desiderio di adottare un approccio diverso.
Fortunatamente, Git mette a disposizione il comando git revert per creare un nuovo commit che annulla le modifiche introdotte dal commit specifico, 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é esiste solo un ramo, HEAD punta all'ultimo commit. Questo comando crea un nuovo commit che annulla le modifiche del precedente. Git apre 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
Per prima cosa, aggiungere una nuova riga al file recipe.txt con il passaggio successivo e commettere direttamente la modifica, saltando l'area di staging:
Ora visualizza le informazioni dettagliate di questo commit utilizzando il comando git show con HEAD:
Ops, tutte le righe precedenti sono state eliminate perché è stato utilizzato l'operatore di output sbagliato — > invece di >>, che ha sovrascritto il file.
Nessun problema; utilizzare il comando git revert per annullare queste modifiche nell'ultimo commit:
Come puoi vedere, si apre l'editor di testo predefinito (Vim in questo caso) con un messaggio di commit predefinito. Per ora, lascialo così com'è, ma nei progetti reali è consigliato includere la motivazione del rollback, ad esempio:
Per salvare le modifiche e uscire da Vim, premere il tasto Escape e due volte la lettera Z maiuscola.
Infine, visualizzazione delle modifiche 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
Can you explain what happens if there are conflicts during a git revert?
How is git revert different from git reset?
What should I do if I want to revert an older commit, not just the latest one?
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 un commit specifico. Questo può avvenire per diversi motivi, come la scoperta di un bug, la consapevolezza che una funzionalità non è pronta per la produzione, o semplicemente il desiderio di adottare un approccio diverso.
Fortunatamente, Git mette a disposizione il comando git revert per creare un nuovo commit che annulla le modifiche introdotte dal commit specifico, 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é esiste solo un ramo, HEAD punta all'ultimo commit. Questo comando crea un nuovo commit che annulla le modifiche del precedente. Git apre 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
Per prima cosa, aggiungere una nuova riga al file recipe.txt con il passaggio successivo e commettere direttamente la modifica, saltando l'area di staging:
Ora visualizza le informazioni dettagliate di questo commit utilizzando il comando git show con HEAD:
Ops, tutte le righe precedenti sono state eliminate perché è stato utilizzato l'operatore di output sbagliato — > invece di >>, che ha sovrascritto il file.
Nessun problema; utilizzare il comando git revert per annullare queste modifiche nell'ultimo commit:
Come puoi vedere, si apre l'editor di testo predefinito (Vim in questo caso) con un messaggio di commit predefinito. Per ora, lascialo così com'è, ma nei progetti reali è consigliato includere la motivazione del rollback, ad esempio:
Per salvare le modifiche e uscire da Vim, premere il tasto Escape e due volte la lettera Z maiuscola.
Infine, visualizzazione delle modifiche 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!