Heroku ограничивает репозитории git размером 1 ГБ для всей истории коммитов (не для текущего размера файла).Вероятно, ваш репо превышает 1 ГБ.
https://devcenter.heroku.com/articles/limits#git-repos
У вас есть как минимум два варианта:
И то, и другое закончится переписанной историей, но позволит вам уменьшить размер вашего git-репозитория.
Даже если вы пылесосите, у вас все еще есть значительныйколичество изменений в ваших двоичных файлах sqlite, поэтому я не уверен, что какое-либо действие, которое вы предпримете над базой данных, улучшит ее (на самом деле, ухудшит ее, добавив дополнительные коммиты и размер)
Herokuне работает с мелкими клонами и требует полной истории, поэтому вам может потребоваться переписать вашу историю.
Размер вашего хранилища git превышает 1 ГБ.Вероятно, это связано с общим размером всех предыдущих коммитов в вашей истории (герою требуется полный клон для развертывания).Разделение и добавление новых коммитов будет только увеличивать размер.Вам нужно определить источник вздутия.Это может быть дальнейшее добавление бинарных файлов или даже добавление, а затем последующее удаление (с помощью git commit) большого двоичного файла.
Возможно, вы сможете проверить размер вашего репо, запустив git count-objects -vH
локально и глядя на size-pack size
.
Вы также можете попробовать использовать скрипт, чтобы сравнить разницу между коммитами и получить размеры BLOB-объектов:
Также здесь есть несколько других опций очистки хранилища, не связанных с переписыванием истории:
Если вы уже исправили репо локально, вам может потребоваться принудительный толчок к Heroku, если он отклоняет ваш пуш.Кроме этого, я не думаю, что вы можете что-то сделать на стороне Heroku, чтобы это исправить: вам нужно либо:
- уменьшить размер файлов sqlite в текущем коммите (еслиВы только что добавили их, и они просто слишком велики)
- Перепишите свою историю, чтобы уменьшить общий размер вашего репозитория
- Сожмите файлы, используя один из методов в посте, упомянутом выше
Поскольку Heroku не поддерживает lfs, а github не поддерживает размеры файлов, превышающие определенный размер, без gitlfs (100 МБ), а в битбакете, по-видимому, нет указанного ограничения.Скорее всего, это сценарий, в котором вы сложили кучу коммитов, в которых двоичные файлы стоили сотни мегабайтных изменений друг над другом, что привело к превышению лимита в 1 ГБ.
Bitbucket имеет больше информации о том, как вы можете вычислитьиз вашего фактического размера репозитория (не текущего общего размера файла ветки по умолчанию) также: https://confluence.atlassian.com/bitbucket/what-kind-of-limits-do-you-have-on-repository-file-size-273877699.html