Как восстановить данные репозитория git, если во время переключения веток произошел сбой системы?
Я переключал филиал в jboss developer studio (just like eclipse)
, Он попросил меня зафиксировать ваши изменения перед переключением. Я вошел temporary commit
как зафиксировать сообщение. Тогда IDE делал свою работу.
Но когда IDE делал все это, система выходила из строя из-за отсутствия электричества.
Когда питание вернулось, я увидел, что большинство моих файлов были пустыми, IDE не распознает проект как проект git, состояние git говорит not a git repository
,
Как я могу восстановить данные репозитория git, если во время переключения веток произошел сбой системы?
1 ответ
Попробуйте проверить, что внутри reflog, с помощью:
git reflog
Если вам повезет, вы должны найти временный коммит в списке reflog, а затем восстановить его оттуда.
В случае, если вы не найдете ничего внутри reflog, попробуйте выполнить следующую команду:
git fsck --full --no-reflogs --unreachable --lost-found
Указанные коммиты копируются в .git/lost-found/commit/
и объекты без фиксации копируются в .git/lost-found/other/
,