Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Annullare le Modifiche Prima dello Staging | Annullamento delle modifiche
Nozioni Fondamentali di Git

Annullare le Modifiche Prima dello Staging

Scorri per mostrare il menu

A volte si possono modificare i file nell’albero di lavoro ma decidere di scartare tali modifiche prima di aggiungerle all’area di staging.
Ora vengono illustrate le modalità per annullare le modifiche in Git prima che vengano aggiunte all’area di staging.

Scartare modifiche con git restore

Il comando git restore è uno strumento versatile per scartare le modifiche nell’albero di lavoro. Per annullare le modifiche nei file modificati prima dello staging, è possibile utilizzare questo comando nel modo seguente:

git restore <file>

Dove <file> rappresenta il nome dei file o il loro percorso relativo alla directory del progetto. Questo comando ripristina il file specificato alla versione che è in staging. Se l’area di staging è vuota, il file viene ripristinato alla versione presente nell’ultimo commit.

Ripristino alla versione in staging

Per prima cosa, creare un nuovo file chiamato recipe.txt contenente una semplice ricetta per uova sode utilizzando il comando echo:

echo "1. Prepare the Eggs
2. Boil Water
3. Place Eggs in the Saucepan
4. Boil the Eggs
5. Reduce Heat
6. Cook for 6-7 minutes" > recipe.txt
Creazione del file recipe.txt

Ora aggiungere questo file e modificarlo aggiungendo un'altra riga con il prossimo passaggio della ricetta:

git add recipe.txt
echo "7. Transfer eggs to ice water or run cold water over them" > recipe.txt
Aggiunta e modifica del file recipe.txt

Ops, è stato utilizzato l'operatore sbagliato> (che sovrascrive il file) invece di >> (che aggiunge una nuova riga). Prima di correggere, controllare lo stato dell'albero di lavoro e dell'area di staging:

git status
Verifica dello stato

Come puoi vedere, la versione iniziale del file è in stage, quindi ripristina il file a questa versione e controlla nuovamente lo stato dell'area di lavoro e dell'area di stage:

git restore recipe.txt
git status
Ripristino del file alla versione in stage

Come puoi vedere, il nostro working tree è ora pulito, quindi le modifiche sono state annullate e il file è stato ripristinato alla versione staged.

Creazione e staging del file
Ripristino alla versione staged

Ripristino all'ultimo commit

Per prima cosa, eseguire il commit della creazione del file recipe.txt:

git commit -m "Add a file with a simple recipe for boiled eggs"
Commit del file recipe.txt

Il commit è stato eseguito con successo. Ora aggiungere un'altra riga al file con il passo successivo della ricetta e controllare lo stato dell'albero di lavoro:

echo "10. Transfer eggs to ice water or run cold water over them">> recipe.txt
git status
Modifica del file recipe.txt

Ops, è stato commesso un altro errore — il passaggio aggiunto dovrebbe essere 7, non 10.
Nessun problema; è possibile annullare questa modifica tornando all'ultimo commit.
Per prima cosa, controllare l'ultimo commit:

git log -n 1
L'ultimo commit

Questo commit è esattamente quello necessario, quindi ripristinare le modifiche a questa versione e verificare che la working tree sia pulita:

git restore recipe.txt
git status
Ripristino all'ultimo commit

L'albero di lavoro è pulito, il che significa che le modifiche sono state annullate e il file è stato ripristinato alla versione dell'ultimo commit.

Ripristino all'ultimo commit
question mark

Cosa fa il comando git restore <file> prima di mettere in stage le modifiche?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 1

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 1
some-alt