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

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ò accadere per vari 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 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é 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 prossimo passaggio e commettere direttamente la modifica, saltando l'area di staging:

echo "8. Peel the eggs" > recipe.txt
git commit -a -m "Add another step to the recipe"
Modifica e commit diretto

Ora visualizzare le informazioni dettagliate di questo commit utilizzando il comando git show con HEAD:

git show HEAD
L'ultimo commit

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; utilizza il comando git revert per annullare queste modifiche nell'ultimo commit:

git revert HEAD
Ripristino dell'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:

Revert "Add another step to the recipe"
Reason for rollback: the recipe.txt was overwritten.    
This reverts commit b1148490543882f038069a0233a5d7e0b33f6221.
Note
Nota

Per salvare le modifiche ed uscire da Vim, premere il tasto Escape e due volte la lettera Z maiuscola.

Infine, visualizzazione delle modifiche negli ultimi due commit:

git log -p -2
Due ultimi 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.

question mark

Cosa fa il comando git revert HEAD in Git?

Seleziona la risposta corretta

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

Sezione 3. Capitolo 4
some-alt