Git репозиторий не смог пройти родительскую ошибку - PullRequest
7 голосов
/ 16 июля 2011

Я новичок в Git и был вполне счастлив до этого вечера. Я регулярно делаю изменения. Я поддерживаю два пульта в режиме unuddle и beanstalk и локальный пульт файловой системы.

Никогда не было ошибки, и после нескольких дней работы я перенес свои изменения на все пульты дистанционного управления, полагая, что это обеспечит мне безопасность. Не было ошибок и проблем.

Этим вечером я пошел посмотреть журнал моего проекта и получил эту ошибку из-за моих болей:

error: Could not read a2b6c2fa16e01db9e38d9509606a444e5831330a
fatal: Failed to traverse parents of commit 
       78e81a9a7f5cafa5e2af4b95d156364b9a430ac9

Насколько я понимаю, история хороша еще 29 мая. Я не могу клонировать копию с любого из пультов. Больше нигде нет клонов, которые я мог бы использовать для восстановления хранилища. Я даже не знаю, когда это сломалось. Я проверил FAQ, но понятия не имею, о чем говорит автор раздела восстановления репозитория.

Когда я запускаю git fsck, я получаю 155 строк, пропускающих это и висящих. Понятно, что я бы хотел это почистить. Я могу жить без истории до 29 мая. Если бы я мог получить ее прямо с этого момента.

Может кто-нибудь помочь мне разобраться?

Кроме того, что может вызвать это? Единственное, что я могу вспомнить, это изменилось за этот период, это то, что я обновил netbeans до v7, который должен иметь поддержку git, но, похоже, не распознает существующие репозитории.

Ответы [ 2 ]

9 голосов
/ 02 марта 2012

Я погуглил эту ошибку и нашел вашу страницу, в моем случае проблема заключалась в том, что я сделал:

git clone --depth 1 https://github.com/example/nifty.git

но спустя месяцы, забыв, что я только что получил последние коммиты, когда я попытался перенести его на другой пульт, он пожаловался Мне потребовалось немного времени, чтобы понять, что это не поврежденное репо, а просто тот факт, что у меня никогда не было родительских коммитов! Надеюсь, это кому-нибудь поможет.

Это исправило для моего случая:

git fetch --unshallow
1 голос
/ 16 июля 2011

«Висячие» объекты могут не быть проблемой.Это может означать, что вы выполнили сброс, перебазирование и / или удаление ветвей, которые не были полностью объединены.«Отсутствие», с другой стороны, более серьезно, я считаю.Взгляните на эту статью о ремонте поврежденного репо .Это может помочь вам.Вы также можете попробовать обновить git, если вы устарели.Более новая версия может быть немного умнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...