LLIaMMaH

LLIaMMaH 

Изредко стримлю игры

376subscribers

111posts

Как я восстановил папку после `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/` ещё существовала.
Я решил попробовать оба способа восстановления, чтобы вернуть файлы и убедиться в их целостности.
Прочитать статью полностью можно на моём блоге.
Subscription levels8

Подписка B1

$1.4 per month
Данная подписка даёт доступ для игры на сервере (при наличии лицензионного аккаунта Minecraft) и немного расширенные права в игре. Так же как и остальные подписки копит средства на новое железо для сервера.
+ chat

Подписка B2

$2.79 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B3

$4.2 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B4

$5.6 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B5

$7 per month
Более расширенные права на серверах Minecraft. Доступ ко всем постам по Python.
+ chat

Подписка B6

$10.5 per month
Все привилегии прошлых подписок. Отдельная благодарность. Добавление информации о спонсоре на стримах, в вики проектов и прочих местах где допускается такая информация.
+ chat

Подписка B7

$14 per month
Все привилегии прошлых подписок. Отдельная благодарность. Добавление информации о спонсоре на стримах, в вики проектов и прочих местах где допускается такая информация.
+ chat

Подписка B8

$27.9 per month
Все привилегии прошлых подписок. Отдельная благодарность. Добавление информации о спонсоре на стримах, в вики проектов и прочих местах где допускается такая информация.
+ chat
Go up