Przez pomyłkę dodałem pliki do Gita używając polecenia:
git add myfile.txt
Nie uruchomiłem jeszcze git commit
. Czy jest jakiś sposób, aby to cofnąć, aby te pliki nie były uwzględnione w commicie?
Możesz cofnąć git add
przed commitem używając
git reset <file>
co spowoduje usunięcie go z bieżącego indeksu (lista "about to be committed") bez zmiany czegokolwiek innego.
Możesz użyć
git reset
bez podania nazwy pliku, aby odinstalować wszystkie należne zmiany. Może się to przydać, gdy jest zbyt wiele plików, aby wylistować je jeden po drugim w rozsądnym czasie.
W starych wersjach Gita, powyższe komendy są odpowiednikami odpowiednio git reset HEAD <file>
i git reset HEAD
i zawiodą, jeśli HEAD
jest niezdefiniowane (ponieważ nie wykonałeś jeszcze żadnych commitów w swoim repozytorium) lub niejednoznaczne (ponieważ utworzyłeś gałąź o nazwie HEAD
, co jest głupią rzeczą, której nie powinieneś robić). To zostało zmienione w Git 1.8.2, więc w nowoczesnych wersjach Git możesz używać powyższych komend nawet przed dokonaniem pierwszego commitu:
"git reset" (bez opcji i parametrów) używane do wyrzucania błędów, gdy. nie masz żadnych commitów w swojej historii, ale teraz daje ci pusty indeks (aby dopasować nieistniejący commit, na którym nawet nie jesteś).
Jeśli wpiszesz:
git status
Git powie Ci, co jest wystawione, itd., łącznie z instrukcjami, jak to zrobić:
use "git reset HEAD <file>..." to unstage
Uważam, że Git wykonuje całkiem niezłą robotę, skłaniając mnie do robienia właściwych rzeczy w sytuacjach takich jak ta.
Uwaga: Ostatnie wersje Git (1.8.4.x) zmieniły tę wiadomość:.
(use "git rm --cached <file>..." to unstage)