Come ripristinare Git su Head

7 nov 2021 2 min di lettura
Come ripristinare Git su Head
Indice dei contenuti

Introduzione

Il ripristino di Git è un processo abbastanza simile all'annullamento del recente commit di Git di cui abbiamo parlato in uno dei tutorial precedenti. Tuttavia, in questo, tratteremo Git reset to Head in modo più approfondito. Controlleremo cosa fa il comando di revert e cosa è il ripristino misto. Continua a leggere e trova alcuni suggerimenti e trucchi su Git reset.

Reimpostare l'ultimo commit di Git su HEAD

Cosa fare quando si desidera ripristinare l'ultimo commit Git su HEAD, mantenere le modifiche apportate nella directory del repository, ma non si desidera mantenerle nell'indice? Ecco la tua risposta.

Se ti imbatti in situazioni come quella che abbiamo descritto sopra, devi usare il flag –mixed. Ecco un esempio.

Diciamo che abbiamo aggiunto una sorta di file con il nostro ultimo commit:

git log --oneline --graph 
d445900 (HEAD -> master) Added a new file named "test_file"
61t6ll5 Second commit
4096r12 Initial repository commit

Ora eseguiamo il comando Git reset con il flag --mixed:

git reset --mixed HEAD~1 

Quello che ha fatto il comando sopra è il seguente. Ha rimosso l'ultimo commit, che in questo caso era l'aggiunta di file e lo ha rimosso dall'indice Git, ma il file è rimasto nella directory in cui ti trovi attualmente (che è la directory del tuo repository locale). Quindi flag --mixed è in realtà una combinazione di opzioni di ripristino Git --soft e --hard. Ecco perché alla fine si chiama misto.

Come utilizzare l'opzione Git Revert per ripristinare

Il revert è leggermente diverso dal ripristino. La differenza principale è che reset imposta una nuova posizione per HEAD mentre revert in realtà ripristina l'intero commit specificato. Lascia che ti mostriamo un esempio di come funziona effettivamente:

git log --oneline --graph 
d445900 (HEAD -> master) Added a new file named "test_file"
61t6ll5 Second commit
4096r12 Initial repository commit

Quindi, di nuovo, l'ultima cosa che abbiamo commesso è stata l'aggiunta di file. Eseguiamo ora il comando di revert:

git revert HEAD 

Il tuo editor di testo predefinito si aprirà ora e l'output sarà simile a questo:

Revert “Added a new file named test_file”

This reverts commit 5e998t74du5h4z4f.

# Please enter the commit message for your changes. Lines starting
# with ‘#’ will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is ahead of ‘origin/master’ by 6 commits.
#    (use “git push” to publish your loacl commits)
#
# Changes to be committed:
#                deleted:         test_file
#

Al termine, esci dall'editor di testo e verrà visualizzato un nuovo messaggio.

[master d445900] Revert "Added a new file named test_file"
 1 file changed, 1 deletion(-)
 delete mode 100644 test_file

Conclusione

Questo è tutto! Hai completato con successo l'azione di revert di Git su HEAD con l'opzione di ripristino.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.