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