Подтвердить что ты не робот

Как обращаться с git gc fatal: ошибка плохого объекта refs/remotes/origin/HEAD: не удалось запустить repack

Я случайно ударил список сегодня, пытаясь собрать мусор.

$ git gc
fatal: bad object refs/remotes/origin/HEAD
error: failed to run repack

Как я могу справиться с этим?

4b9b3361

Ответ 1

Я не понимаю последствий этого, но, как было предложено в этом потоке, когда я столкнулся с этим, я просто сделал $ mv .git/refs/remotes/origin/HEAD /tmp (сохраняя его на всякий случай), а затем $ git gc работал без жалоб; Я не сталкивался с какими-либо проблемами.

Ответ 2

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

git remote set-head origin --auto

Ответ 3

Проблема, с которой я столкнулся (это та же проблема, что @Stavarengo, упомянутая в этом комментарии выше), заключается в том, что удаленная ветка по умолчанию (develop в моей случай) был удален, но по-прежнему упоминался в .git/refs/remotes/origin/HEAD.

Открытие .git/refs/remotes/origin/HEAD в моем редакторе показало это:

ref: refs/remotes/origin/develop

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

ref: refs/remotes/origin/master

Ключ, который подсказывал мне, что запуск git prune показал эту ошибку:

> git prune
warning: symbolic ref is dangling: refs/remotes/origin/HEAD