Come faccio ad annullare 'git add' prima del commit?
Ho aggiunto erroneamente dei file a Git usando il comando:
git add myfile.txt
Non ho ancora eseguito git commit
. C'è un modo per annullarlo, così questi file non saranno inclusi nel commit?
8527
3
Puoi annullare
git add
prima del commit conche lo rimuoverà dall'indice corrente (l'elenco "circa da commettere") senza cambiare nient'altro.
Potete usare
senza alcun nome di file per annullare tutte le modifiche dovute. Questo può essere utile quando ci sono troppi file da elencare uno per uno in un tempo ragionevole.
Nelle vecchie versioni di Git, i comandi di cui sopra sono equivalenti a
git reset HEAD
egit reset HEAD
rispettivamente, e falliranno seHEAD
è indefinito (perché non hai ancora fatto alcun commit nel tuo repository) o ambiguo (perché hai creato un ramo chiamatoHEAD
, che è una cosa stupida che non dovresti fare). Questo è stato cambiato in Git 1.8.2, però, quindi nelle versioni moderne di Git puoi usare i comandi di cui sopra anche prima di fare il tuo primo commit:"git reset" (senza opzioni o parametri) usato per dare errore quando non hai alcun commit nella tua storia, ma ora ti dà un indice vuoto (per corrispondere a commit inesistenti su cui non siete nemmeno).
Se si digita:
Git vi dirà cosa è in scena, ecc., incluse le istruzioni su come annullare la scena:
Trovo che Git faccia un buon lavoro per spingermi a fare la cosa giusta in situazioni come questa.
Nota: Le recenti versioni di Git (1.8.4.x) hanno cambiato questo messaggio:
git remove
ogit rm
possono essere usati per questo, con il flag--cached
. Prova: