Ну, у вас есть объекты, но git понятия не имеет, какой коммит он должен интерпретировать как мастер.В выводе git fsck
есть три предложения.Вы можете попробовать следующее:
- создать каталог
.git/refs/heads
и создать файл с именем master
- Поместить в этот файл хеш SHA1 одного из коммитов
- Выполнить
git checkout master
Если это не тот коммит, который вы искали, вставьте другой хэш sha1 в master
-файл
-
Редактировать : Если это не настоящие коммиты, как вы описали в комментарии, то, возможно, вам следует пройтись по вашим объектам.С помощью git show 2452845a7b526db3dfbf88c1c2ca05967ef9653a
вы можете увидеть содержимое файла.Если это коммит, он начинается со слова commit
, а также содержит дату, сообщение о коммите и т. Д.Возможно, вы могли бы написать небольшой сценарий оболочки, чтобы пройти через все объекты.Когда вы нашли свой коммит, поместите его sha1 в файл refs /heads / master и сделайте то, что я описал выше