Can not fix bad object HEAD error с состоянием git

Моя батарея умерла на моем macbook при нажатии моего репо. Теперь я не могу запустить git status

$ git status
fatal: bad object HEAD
fatal: git status --porcelain failed

Я пробовал несколько предложений, которые были найдены для исправления ошибок с плохими объектами.

$ git fsck --full
dangling tree 65e856976b7aa7c73f15cd71defedb8a3d622a10

Я пробовал git prune и git prune-packed

Я все еще могу зафиксировать, нажать, нажать, похоже, просто влияет на статус git

Идеи Энди?

Спасибо

Ответы

Ответ 1

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

git pull

Это привело к условиям работы. Если ваши файлы не повреждены, вы должны создать резервную копию локального каталога git, а затем запустить git pull. после этого вы должны вернуться в бизнес.

Если удалены файлы (это не должно происходить), вы можете скопировать их обратно на рабочую проверку и зафиксировать их там.

Ответ 2

Если ваш .git/HEAD поврежден или указывает на поврежденный объект, вы можете изменить его вручную или git checkout.

Ответ 3

Это случилось со мной, когда я случайно добавил свою папку bin/в проект Java Eclipse.

Использование 'git pull' не помогло мне.

Я исправил его:

  • закрытие Eclipse
  • rm -rf bin
  • git rm bin

Затем я смог "git совершить" и продолжить нормально.

Ответ 4

Это сработало для меня:

git fetch origin
git reset --hard origin/master

Ответ 5

Попробуйте добавить все ваши измененные файлы с git add filepath/file.ext до состояния git.

Ответ 6

git checkout -f *branchname* работал у меня.