Как я восстановил папку после `rm -rf app/` с помощью Docker и Git
Катастрофа с `rm -rf`
Работая над проектом, я случайно выполнил команду `rm -rf app/` и удалил папку с исходным кодом. Паника наступила мгновенно: проект ещё не был отправлен в удалённый репозиторий, и я испугался, что потерял все последние изменения файлов. К счастью, у меня были два спасительных варианта: ранее собранный Docker-контейнер и локальные Git-коммиты. В этой статье я расскажу, как я восстановил папку `app/` сначала из контейнера, а затем из Git для сверки, и поделюсь командами, которые помогли мне. Если вы попали в похожую ситуацию, это руководство для вас!
Шаг 1: Осознание проблемы
После выполнения `rm -rf app/` я понял, что папка с кодом моего Telegram-бота исчезла и локальные файлы пропали. PyCharm в локальной истории показал, что папки была удалена, но к сожалению он такое откатить не может. Значит нужно вытаскивать файлы от туда, где они были до момента удаления, а это:
- Docker-контейнер, который я недавно собирал и запускал с помощью `make local-build`. К счастью, я не успел выполнить очистку (`make clean`), так что контейнер и образ были на месте.
- Локальный Git-репозиторий с несколькими коммитами, где папка `app/` ещё существовала.
Я решил попробовать оба способа восстановления, чтобы вернуть файлы и убедиться в их целостности.
Прочитать статью полностью можно на моём блоге.
git
docker