Lisäsin virheellisesti tiedostoja Gitiin komennolla:
git add myfile.txt
En ole vielä suorittanut git commit
. Onko olemassa keino kumota tämä, jotta näitä tiedostoja ei otettaisi mukaan committiin?
Voit kumota git add
ennen sitoutumista komennolla
git reset <file>
mikä poistaa sen nykyisestä indeksistä ("about to be commit" -listasta) muuttamatta mitään muuta.
Voit käyttää
git reset
ilman tiedostonimeä, jos haluat poistaa kaikki muutokset. Tämä voi olla kätevää silloin, kun tiedostoja on liian paljon, jotta ne voitaisiin listata yksi kerrallaan kohtuullisessa ajassa.
Vanhoissa Git-versioissa edellä mainitut komennot vastaavat git reset HEAD <file>
ja git reset HEAD
, ja ne epäonnistuvat, jos HEAD
on määrittelemätön (koska et ole vielä tehnyt yhtään komennusta arkistoosi) tai moniselitteinen (koska olet luonut haaran nimeltä HEAD
, mikä on typerä asia, jota ei pitäisi tehdä). Tämä muutettiin kuitenkin Git 1.8.2:ssa, joten nykyaikaisissa Git-versioissa voit käyttää edellä mainittuja komentoja jo ennen kuin olet tehnyt ensimmäisen toimituksen:
"git reset" (ilman asetuksia tai parametreja) käytettiin virheeseen, kun sinulla ei ole yhtään komitusta historiassasi, mutta nyt se antaa sinulle tulokseksi tyhjän indeksin (joka vastaa olemattomia sitoumuksia, joissa et edes ole).
Jos kirjoitat:
git status
Git kertoo sinulle, mikä on porrastettu jne., mukaan lukien ohjeet porrastuksen purkamiseen:
use "git reset HEAD <file>..." to unstage
Minusta Git tekee aika hyvää työtä tuuppaamalla minua tekemään oikein tällaisissa tilanteissa.
Huomautus: Viimeisimmät Git-versiot (1.8.4.x) ovat muuttaneet tätä viestiä:
(use "git rm --cached <file>..." to unstage)