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.
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:
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
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
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
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione