Мой репозиторий git почему-то пошёл не так, как надо - сегодня утром я загрузил msysgit, и вместо имени ветки, отображаемого после текущей директории, он говорит "((ref: re ...))", отчеты "git status" все как новый файл, 'git log' и 'git reflog' говорят мне "fatal: bad default revision 'HEAD'" и т. д.
Выполнение 'git reflog --all' или 'gitk --all' показывает мне, что остальная часть хранилища не повреждена, но похоже, что ветвь, над которой я работал, просто исчезла, что объясняет, почему HEAD не кажется существовать / указывать на что-либо.
Я знаю, что git хранит все виды информационных шаров, и я предполагаю, что мои коммиты как-то осиротели, так есть ли какая-нибудь команда, которая покажет мне эти коммиты, чтобы я мог сбросить HEAD к ним?
РЕДАКТИРОВАТЬ: О дорогой. Я обнаружил «git fsck», и «git fsck --full» сообщает «fatal: объект 03ca4 ... поврежден». Что, черт возьми, я могу с этим поделать?
РЕДАКТИРОВАТЬ: О дорогой о дорогой. Я извлек другую ветку, затем попытался воссоздать исходную ветку с тем же именем, используя git checkout -b lostbranchname, и git говорит: «ошибка: невозможно разрешить ссылку refs /heads / lostbranchname: нет ошибки, фатально: не удалось заблокировать ссылку для обновления: нет ошибок ". «Нет ошибок» должно быть особенно неприятной ошибкой. Похоже, он все еще висит, но не может быть использован и не может быть убит.
РЕДАКТИРОВАТЬ: Супер пупер ой дорогой. Я выполнил кучу распаковки, перепаковки и замены вещей, как было предложено здесь: Как восстановить объекты Git, поврежденные из-за сбоя жесткого диска? , но теперь я получаю еще один хеш-код как поврежденный для чего-то так же безобиден, как и «git status». Я думаю, что все это скрыто. Git хорош и все такое, но я не должен был бы иметь дело с такими вещами.