Должно быть, было что-то кроме клона, но я знаю, как трудно запомнить эти вещи.
Первое, что вы хотите сделать, это заглянуть в .git / refs и посмотреть, есть ли там что-нибудь правильное (я не слишком оптимистичен, так как вы говорите, что веток, похоже, нет, но это стоит выстрел). Если какие-либо действительные ссылки существуют, вы можете получить некоторую информацию от git-reflog
.
Далее я бы начал смотреть на git-fsck
. Его основное назначение - проверка связности и достоверности объектов в базе данных. В зависимости от того, что именно произошло с вашим репо, вам может понадобиться --unreachable
или --lost-found
. Надеемся, что объекты не повреждены, поэтому все, что вам нужно сделать, - это найти несколько хэшей с фиксированными коммитами для проверки и воссоздания веток в.