git имеет поврежденный объект Lose, который не может быть восстановлен - PullRequest
3 голосов
/ 03 декабря 2010
~$ git commit .
error: inflate: data stream error (incorrect data check)
error: corrupt loose object '26f0654cde5d83f2ed8d971474d9d08a76644087'
fatal: object 26f0654cde5d83f2ed8d971474d9d08a76644087 is corrupted

Данный объект не существует, и я делал коммиты через день или около того.
Поскольку в нем не указано, где находится этот объект, я не знаю, что с ним делать.
Я думаю, что мой последний был 30-го числа прошлого месяца, так что в последнее время я был довольно не в себе, но все же я не знаю, почему он делает то, что делает сейчас.

Я пытался git unpack-object -r < objectname, и это ничего не делает. Поскольку объект не существует где-либо на моем жестком диске.


Оригинальный бит теперь изменен:

Нет, я, кажется, только что нашел это. Я не осознавал, что он буквально делал 26 как / 26 / вместо себя. Очевидно, файл был создан 1 декабря, и, поскольку я не указал объект со времени последнего резервного копирования, я полагаю, это было несколько дней назад.
Как лучше всего это сделать?

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Попробуйте

git stash

Это сработало для меня.Он прячет все, что вы не совершали, и это решает проблему.

0 голосов
/ 03 декабря 2010

Вам нужно будет посмотреть, что это за объект.Вам необходимо определить, является ли это BLOB-объектом, деревом, коммитом или (маловероятным) подписанным или отправленным тегом.Для этого в Git есть низкоуровневые команды манипуляции.

Взгляните на в этом посте .

Я бы порекомендовал сделать ответвление или перебазировать -i --preserve-Может очистить историю, чтобы все ша-1 разрешались в нужные объекты.

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