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

Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

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

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

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

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

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

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

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

Leave a Reply