Git вернуть удаление кеша
Добавил ненужную папку в .gitignore и хотел удалить кеш из git status, но прописал git rm -r --cached . Теперь боюсь что либо делать, подскажите, командой git revert . вернёт ли обратно кеш? Возможно нужна другая команда?
Ответы (1 шт):
Добавил ненужную папку в
.gitignoreи хотел удалить кеш изgit status, но прописалgit rm -r --cached .
У вас теперь микс изменений - те что вы сделали разумно (и которые не хотелось бы терять, например изменения в .gitignore), и того, что сделали ошибочно через git rm -r --cached ..
В последней команде точка - текущий каталог. Вы очевидно были в корне проекта, и добавили в "stage" область (то что выводится git status) инструкцию на удаление из репо файлов. На диске в рабочем каталоге они, конечно, же остались.
Вот что нужно вам сделать:
git reset HEAD
Это "вернет" stage область (файлы затронуты не будут).
Вообще, удаление ненужных файлов лучше делать отдельным коммитом, не смешивая с полезными доработками - и нагляднее, и безопаснее. Вот так это делается:
Допустим, лишний каталог - это error_log, тогда:
git rm -r --cached error_log
Также вносим изменения в .gitignore и добавляем их в stage:
git add .gitignore
После чего - коммитим. На этом - все.
Теперь боюсь что либо делать, подскажите, командой
git revert .вернёт ли обратно кеш?
Нет. Эта команда нужна для отмены сделанного коммита. Так как вы еще не коммитили, она не нужна.
