Как восстановить поврежденный репозиторий git? - PullRequest
12 голосов
/ 07 октября 2011

После полной перезагрузки моего ноутбука, который завис после фиксации git, у меня возникает следующая ошибка при вводе любой команды в моем репозитории git:

$ git status 
fatal: failed to read object de02e6d5cd7823ea788429a33583bede09221163: Invalid argument

Есть ли способ восстановить мой git-репозиторий?

Я не нашел решения по двум следующим вопросам:

РЕДАКТИРОВАТЬ: Я не нашел, что вызвало повреждение моего репозитория git, ни какое-либо решение, чтобы восстановить его ... Я наконец начал с нового клона из моего репозитория SVN!

Ответы [ 2 ]

2 голосов
/ 24 декабря 2011

Для меня ни один из приведенных выше ответов не сработал. Я просто повторно клонировал мое git-репо, и все было хорошо. Перед клонированием я открыл все файлы, которые были изменены, и просто перезаписал их после извлечения.

Вот почему вы должны часто совершать:).

2 голосов
/ 07 октября 2011

Вы недавно перенесли свой репозиторий в такие места, как github или bitbucket? Вы можете получить еще один клон и скопировать каталог объектов.

В противном случае:

Посмотрите, сколько из них работает:

git fsck
git branch -a
git branch -a | xargs -n 1 git log -1 
git reflog

С помощью reflog посмотрите, с какого из них вы можете сделать успешный журнал. надеюсь, это просто ваш последний коммит, который поврежден, или одно из его деревьев.

Надеюсь, это поможет

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