Как да отменя 'git add' преди да извърша commit?
Погрешно добавих файлове в Git, като използвах командата:
git add myfile.txt
Все още не съм стартирал git commit
. Има ли начин да върна това, така че тези файлове да не бъдат включени в commit-а?
8527
3
Можете да отмените
git add
преди предаването скоето ще го премахне от текущия индекс (списъкът "ще бъде предаден"), без да променя нищо друго.
Можете да използвате
без име на файл, за да отмените всички дължими промени. Това може да е полезно, когато има твърде много файлове, за да бъдат изброени един по един за разумно време.
В старите версии на Git горните команди са еквивалентни съответно на
git reset HEAD
иgit reset HEAD
и ще се провалят, акоHEAD
е недефинирано (защото все още не сте'направили никакви промени в хранилището си) или двусмислено (защото сте създали клон, нареченHEAD
, което е глупаво нещо, което не бива'да правите). Това обаче беше променено в Git 1.8.2, така че в съвременните версии на Git можете да използвате горните команди дори преди да сте направили първия си commit:Ако въведете:
Git ще ви каже какво е поетапно и т.н., включително инструкции как да го премахнете:
Смятам, че Git върши доста добра работа, като ме подтиква да постъпвам правилно в подобни ситуации.
Забележка: Последните версии на Git (1.8.4.x) са променили това съобщение:
За тази цел може да се използва
git remove
илиgit rm
с флаг--cached
. Опитайте: