Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Annullamento dei Commit | Annullamento Delle Modifiche
Nozioni Fondamentali di Git

bookAnnullamento 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
Note
Nota

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:

Note
Nota

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.

Note
Nota

Utilizzare le frecce per scorrere verso l'alto o il basso e premere il tasto q per uscire.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 3.57

bookAnnullamento 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
Note
Nota

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:

Note
Nota

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.

Note
Nota

Utilizzare le frecce per scorrere verso l'alto o il basso e premere il tasto q per uscire.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt