Git вернуть удаление кеша

Добавил ненужную папку в .gitignore и хотел удалить кеш из git status, но прописал git rm -r --cached . Теперь боюсь что либо делать, подскажите, командой git revert . вернёт ли обратно кеш? Возможно нужна другая команда?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Total Pusher

Добавил ненужную папку в .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 . вернёт ли обратно кеш?

Нет. Эта команда нужна для отмены сделанного коммита. Так как вы еще не коммитили, она не нужна.

→ Ссылка