Come si può annullare un git add prima di effettuare un commit? Se ne possono cancellare gli effetti? Certamente: lo scopriamo assieme in questo articolo!
All’interno di un repository gestito con git ti sarà capitato di effettuare un “git add” poco prima di un commit ma ti sei accorto che non lo volevi fare: ti sei fatto prendere da qualcosa che si avvicina all’errore da dito grasso 😀
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
In questo articolo scopriamo come sia possibile annullare l’aggiunta o le modifiche di un file, fatto quindi tramite “git add”, prima di eseguire il commit e quindi lasciare in disparte le modifiche appena fatte.
Git reset per annullare un git add
Partiamo dalla situazione in cui il tuo file sia “fileaggiunto.txt”.
E hai eseguito, senza pensarci troppo, il seguente comando:
git add fileaggiunto.txt
Ora, ti tocca annullare il tutto, tramite il comando reset.
Come? Così:
git reset fileaggiunto.txt
In questo modo l’indice dei cambiamenti all’interno del tuo repository viene aggiornato rimuovendo le modifiche del file “fileaggiunto.txt”.
Ciò che succede è, che la prossima volta che eseguirai il commit, le modifiche o le aggiunte fatte tramite “git add” non saranno registrate.
In sintesi: ti ho appena mostrato come annullare un git add prima di un commit 😀

Ma diciamo le cose per intero: fino ad ora ti ho fatto vedere come fare tutto questo per un file specifico. Andiamo oltre.
Annullare TUTTE le modifiche prima di un commit
Cosa fare se le modifiche che vuoi togliere dall’index prima di un commit sono più di una e su più di un file?
Il comando di prima è sufficiente.
Non è necessario specificare nessun file, ma quindi prenderà in considerazione tutti i file per cui git ha registrato un cambiamento da “committare”:
git reset
Fine della storia.
Ma in realtà ci sono alcune precisazioni da fare: soprattutto se usi una versione di git inferiore alla 1.8.2.
In tal caso, entrambi i comandi che abbiamo visto assieme, prevedono che tu inserisca anche lo HEAD: ti lascio maggiori dettagli in merito qui.