Мне недавно пришлось выполнить полную перезагрузку, и теперь я получаю сообщение об ошибке в git при попытке доступа к определенной ветви (этого не происходит при доступе к другим веткам):
$git checkout branchName
fatal: failed to read object ebca165c3ec7ecd7124f41983dd264e4e1dc0125: Invalid argument
Проблемааналогичен описанному здесь: Как восстановить поврежденный репозиторий git? , но отличается тем, что в данный момент я не в этой ветке для выполнения git status
.Кроме того, если я звоню git reflog
, я получаю то же сообщение об ошибке.
Я пытался удалить соответствующую ветку, используя git branch -d branchName
и git branch -D branchName
, но безуспешно.
Очевидно, я хотел бы сохранить все ветви и данные, но если решение состоит в том, чтобы удалить эту конкретную ветку, то это нормально.Кроме того, не знаю, помогает ли это или даже имеет значение, но последнее действие, выполненное в этой ветви, было rebase
.
Возможно ли было бы восстановить текущую ссылку из каждой существующей отдельной ветви, исключая недопустимую ветвь?
В качестве примечания, у меня нет удаленного источника,Я чувствую себя комфортно с этого момента, поэтому любые локальные решения желательны.Кроме того, я использую PHP в случае, если это важно по любой причине.
Спасибо.
Редактировать:
Запуск git fsck --full
Я получаю следующее сообщение:
$git fsck --full
fatal: failed to read object 687f624bd239de165307d18a8904a77adb32c8a1: Invalid argument
..., что странно, потому что, похоже, ссылается на другой хэш.