2015-03-12 9 views
1

Недавно я заметил, что когда я был git pull, во время моего репо, он делал git gc каждый раз. Так что я попытался запустить git gc вручную, который дал мне эту ошибку:Ошибка git gc относится к хэшу объекта, который нигде не упоминается

fatal: bad object 76cab35e0e21b7cf0bc8416661a67fbfb7f0e4ba 
error: failed to run repack 

Затем я попытался найти .git/packed-refs и .git/objects/ и .git/index для этого хэша (и даже пытался просто поиск имен файлов и содержимое всей моей .git/ директории для этот хеш), но он никогда не появляется. Он также не отображается в git fsck --full (что, я думаю, вероятно, относится к некоторым файлам в .git/, так что имеет смысл).

Как исправить это? (Я использую git 2.3.2.)

ответ

2

Это происходит потому, что reflog имеет ссылки на записи, которые каким-то образом исчезли из файловой системы. Запуск git gc с --prune="0 days" удалит все ссылки, которые старше, чем сейчас, которые не отслеживаются в удаленном источнике, и должны исправить проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^