Восстановление файлов после git rm -rf .

Обычно я так не делаю, но вот приключилось. Ситуа: после долгого рабочего дня перенасыщенной событиями рабочей недели, решаю наконец сделать коммит многострадального нового функционала.

Так получилось, что ни правильно оформленного бренча, ни промежуточных коммитов я не делал, просто искал варианты с какой стороны подступиться к заданию и в итоге, практически его выполнив, делаю коммит:

git add .
git commit (aborted, что-то лишнее добавил)
(добавил это что-то в gitignore)
git rm -r -f . (на автопилоте ляпнул -f вместо --cached)

Убило все рабочие файлы, включая изменённые. Перед глазами пронеслось всё что накодил за эти пару недель. В день по три копейки, конечно, но в итоге многовато. Восстанавливать из файловой системы стрёмно и маловероятно, ходил-бродил боясь дунуть на компутер…

И тут меня осенило: Local history в IDE — функция которая есть и в Netbeans и в Idea, которая просто существует и никогда особо не используется. В один момент всё было восстановлено при помощи неё, уровень адреналина медленно спадает, с этим приходит блаженство и счастье.

PS: Это была история из разряда «как делать не нужно», о том «как быть в случае». Поскольку выход из ситуации не явный решил об этом написать, возможно кого-то это спасёт.

А вообще, почаще делайте коммиты и отдыхайте.

Leave a Reply