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

Annullare le Modifiche in Stage

Scorri per mostrare il menu

A volte, le modifiche vengono preparate per il commit, ma dopo un'ulteriore valutazione, ci si rende conto che alcune modifiche non dovrebbero essere incluse. Fortunatamente, è possibile annullare le modifiche preparate in Git, assicurando che i commit riflettano accuratamente le modifiche desiderate.

Annullamento delle modifiche preparate con git restore

Il comando git restore è uno strumento potente per annullare le modifiche preparate. Per annullare le modifiche nei file che sono stati preparati ma non ancora confermati, è possibile utilizzare il seguente comando:

git restore --staged <file>

Dove <file> è il nome dei file o il percorso relativo alla directory del progetto. L'opzione --staged qui "indica" a Git di ripristinare le modifiche nell'area di staging. Dopo aver eseguito questo comando, le modifiche in <file> saranno rimosse dall'area di staging.

Note
Nota

Questo comando non annulla le modifiche nell'albero di lavoro. Invece, rimuove solo le modifiche dall'area di staging.

Nel caso in cui si desideri rimuovere dall'area di staging e poi annullare le modifiche nella directory di lavoro, è possibile utilizzare il seguente comando:

git restore --staged --worktree <file>

Ecco un'immagine per chiarire il concetto:

Modifica e aggiunta di un file all'area di staging
Annullamento delle modifiche in staging

Esempio di flusso di lavoro

Supponiamo di voler aggiungere un'altra riga con il prossimo passaggio della ricetta:

echo "7. Serve the eggs" >> recipe.txt

A differenza del capitolo precedente, non è stato commesso alcun errore, quindi aggiungi questa modifica all'area di staging:

git add recipe.txt
Modifica del file recipe.txt

Tuttavia, dopo averci ripensato prima del commit, sembra che aggiungere questa riga al file della ricetta non sia necessario. Pertanto, annullare completamente questa modifica. Per prima cosa, controllare lo stato dell'albero di lavoro e dell'area di staging:

git status
Verifica dello stato

Questa modifica è effettivamente in staging, quindi eseguire il comando git restore con i flag appropriati per annullarla completamente:

git restore --staged --worktree recipe.txt

Infine, verifica che sia l'albero di lavoro che l'area di staging siano puliti:

git status
Ripristino delle modifiche in staging
question-icon

Abbina le azioni ai rispettivi comandi.

Unstage changes:
Unstage and revert the changes in the working directory:

Revert the changes in the working directory:

Clicca o trascina gli elementi e riempi gli spazi vuoti

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

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