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

