Annullare un git add prima di un commit

di Lorenzo Neri

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.

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più