Мой совет: попробуйте несколько параметров git, связанных с пакетом:
[pack]
threads = 1
deltaCacheSize = 128m
windowMemory = 50m
Что мне показало лучшие результаты, так это установка git config pack.threads 1
и git config pack.windowMemory 50m
(по умолчанию 10 м).
Тем не менее, моему хосту не хватало оперативной памяти (2 ГБ), и он продолжал работать со сбоями. Я скопировал репозиторий и перенес его на другую машину с большим объемом оперативной памяти (8 ГБ). Стало лучше, но все равно не получилось.
Наконец, я скачал последнюю версию git (https://github.com/git/git), скомпилируйте и установите его. Это устранило проблему, просто запустив git repack -adf
с теми же параметрами. После этого я запустил git gc --aggressive --prune=now
Как только я установил репо на своем локальном компьютере, я нажал его на мастер, перезаписав удаленное репо, git push -f origin master
.
Во избежание подобных ошибок в будущем постарайтесь не добавлять ненужные большие файлы в репозиторий (в моем случае я получил дамп SQL объемом 3,5 ГБ :)) и отключите дельта-сжатие для больших файлов (таких как изображения, PDF-файлы, видео). ). Добавьте следующие строки в .gitattributes
:
*.pdf -delta
*.jpg -delta