Устранение ошибок с Git Index слишком маленьким - PullRequest
4 голосов
/ 20 сентября 2019

Я недавно обновил сервер разработки, на котором размещены наши репозитории кода, до более новой версии Ubuntu (18.04).В рамках этого процесса git был обновлён до версии 2.23.0.Реальные серверы приложений, на которых развернут код, должны иметь возможность извлекать последние изменения из репозитория git.Когда я пытаюсь выполнить 'git fetch' на этих серверах, я получаю длинный список ошибок, которые выглядят следующим образом:

error: index file ./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idxслишком мал

Я немного покопался, чтобы посмотреть, смогу ли я найти решение, но пока замечание сработало.Я попробовал ответы, перечисленные здесь: git error: "файл индекса слишком мал" .Ни git index-pack, ни git repack -a -d не решили проблему.Я даже попытался удалить локальную копию файлов с сервера приложений и установить новую с помощью git clone.Сам клон выдал кучу ошибок, аналогичных предыдущим

remote: error: index file ./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx слишком мал

На данный момент у меня нет идей.Любая помощь приветствуется.

Редактировать: Вывод du -h предполагает, что на диске достаточно места.

1 Ответ

1 голос
/ 25 сентября 2019

Сообщение об ошибке звучит как повреждение файла.Если у вас нет свободного места на диске, вы можете удалить индексный файл и заново создать его с помощью:

git index-pack -v ./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx

Возможно, вы также захотите запустить команду git-fsck для проверки возможности подключенияи действительность объектов в базе данных GIT - как удаленных, так и локальных.

Если ваш индекс поврежден, вы также можете попытаться сбросить ветку, которая создаст новый индексный файл:

  1. Для обеспечения безопасности создайте резервную копию .git/index.
  2. Удалите файл индекса .git/index.
  3. Выполните git reset

Ссылки

...