Datoteke sem pomotoma dodal v sistem Git z ukazom:
git add myfile.txt
Nisem še zagnal git commit
. Ali lahko to storim na kakšen način, da te datoteke ne bodo vključene v oddajo?
Pred oddajo lahko razveljavite git add
z
git reset <file>
kar ga bo odstranilo iz trenutnega indeksa (seznam "about to be commit"), ne da bi spremenilo karkoli drugega.
Uporabite lahko
git reset
brez imena datoteke, če želite razveljaviti vse potrebne spremembe. To lahko pride prav, kadar je datotek preveč, da bi jih lahko v razumnem času našteli eno za drugo.
V starih različicah sistema Git sta zgornja ukaza enakovredna ukazoma git reset HEAD <file>
oziroma git reset HEAD
in bosta neuspešna, če je HEAD
nedoločen (ker v svojem skladišču še niste naredili nobene oddaje) ali dvoumen (ker ste ustvarili vejo z imenom HEAD
, kar je neumnost, ki je ne smete narediti). To je bilo spremenjeno v Gitu 1.8.2, tako da lahko v sodobnih različicah Gita zgornje ukaze uporabite še pred prvo oddajo:
"git reset" (brez opcij ali parametrov) se je nekoč pri nimate nobene oddaje v svoji zgodovini, zdaj pa vam prazen indeks (ki se ujema z neobstoječo oddajo, na kateri sploh niste).
Če vnesete:
git status
vam bo Git povedal, kaj je postavljeno itd., vključno z navodili, kako odstraniti postavitev:
use "git reset HEAD <file>..." to unstage
Zdi se mi, da me Git v takšnih situacijah precej dobro nagovarja, da naredim pravo stvar.
Pomnilnik: Zadnje različice sistema Git (1.8.4.x) so spremenile to sporočilo:
(use "git rm --cached <file>..." to unstage)