Ошибка при отправке на удаленный сервер с помощью git

Ошибка при отправке на удаленный сервер с помощью git

У меня есть свежий сервер Centos 6, и я установил git версии 1.7.1 через yum. Я использую метод smart http через apache для доступа.

Когда я пытаюсь отправить данные на удаленный сервер, вот что я получаю:

$ git push origin master
Password:
Counting objects: 6, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 436 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
error: unpack failed: index-pack abnormal exit

Я пробовал следующее, но ничего не изменилось:

  • chown -R apache:apache /path/to/git/repository (httpd работает как apache)
  • chown -R apache:users /путь/к/git/репозиторию
  • chmod -R 777 /path/to/git/repository (очевидно, небезопасно, но хотелось бы исключить проблему с правами доступа к файлу)

Что я могу попробовать сделать, чтобы подтолкнуть к работе?

решение1

Это может быть похоже наhttps://stackoverflow.com/questions/4826639/repack-of-git-repository-fails. Я видел похожие ошибки, когда репозиторий большой (1-2 ГБ) и у меня заканчивается память на сервере. В частности, процесс "git pack-objects" на серверах съедает много памяти и процессорного времени.

Решения, похоже, включают переупаковку репозитория на сервере:

git repack -a -d -f --window-memory 10m --max-pack-size 20m

Или настройте конфигурацию Git на сервере, чтобы уменьшить использование памяти, например:

git config pack.windowMemory 10m
git config pack.packSizeLimit 20m

Возможно, вам придется поиграться со значениями 10 м и 20 м в зависимости от объема доступной памяти.

Связанный контент