Первое, что я бы попробовал, это инициализировать новый репозиторий с git init
. Затем я скопировал бы каталог объектов из мертвого репозитория в новый репозиторий. Затем я запускаю git fsck
в новом хранилище.
Если вам повезет, вы увидите множество висящих объектов, а если повезет, то некоторые из висящих объектов станут объектами коммитов, которые будут кончиками потерянных ветвей.
Если вы выполните git show
и / или git log
на этих коммитах, вы сможете распознать некоторые ветви.
Чтобы «восстановить» их, вы можете просто использовать git branch
для воссоздания именованных ветвей.