Мы сохранили весь контент, но добавить что-то новое уже нельзя
Как восстановить данные, удалённые командой git reset --hard?
Введя изменения в код и всё сломав, я захотел откатиться к предыдущему коммиту и выполнил указанную выше команду. И тогда у меня удалились абсолютно все файлы. Пытаясь отменить эту команду, git начал мне сообщать о том, что никогда никаких коммитов и не было, хотя я уверен, что делал их. Может, я что-то делал неправильно, но в любом случае мне нужно восстановить месячные труды. Что у меня имеется: папка .git с какими-то файлами и такой вывод в консоль при вводе команды git fsck --unreachable:
На самом деле точно не все потеряно, если вы не выполняли специальных команд по удалению недостяжимых объектов: git gc с некоторыми опциями и у вас на изменения были сделаны коммиты. Первое что призодит на ум воспользоваться stackoverflow - https://stackoverflow.com/questions/5788037/recover-from-git-reset-hard. Для меня самым простым методом восстановления является открытие файла с историей изменения и поиска нужных коммитов. Это означает что вы в папке .git находите файл HEAD в нем должны быть все действия с данной сущностью, её история. Открываете его как текстовый и сравнивайте коммиты которые у вас существуют в текущей ветке, например с gitk, и те которые исчезли после reset. Ещё раз заостряю внимание на том, что если изменения не были добавлены в git, то их нельзя восстановить.
Вы можете попробовать какие-то инструменты восстановления файлов, не связанные с git, например, R-Studio. Если файлы были удалены только логически, но физически их содержимое на диске еще присутствует, то такие инструменты... Читать далее
Кандидат филологических наук, лингвист, читатель... · 8 окт 2021
Есть определенные решения. Почитайте
1) https://medium.com/@CarrieGuss/how-to-recover-from-a-git-hard-reset-b830b5e3f60c#.353djvmkb
2) http://www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with... Читать далее
git не должен ничего стирать в своей базе. И внутри у него данные, конечно остались. Поставьте себе для работы с git какую-нибудь программу с графическим интерфейсом. Наверняка вы отыщете в git нужную вам версию исходных текстов.