Управление размером репозитория удаленного git-репо - PullRequest
1 голос
/ 02 октября 2019

У меня возникла проблема, когда мой репозиторий достиг предела размера 2 ГБ в Bitbucket. В данный момент у меня есть несколько веток в репо, каждая из которых составляет ~ 260 МБ (из-за некоторых изображений, которые я храню в репо, чтобы было проще делиться ими с командой). Учитывая этот размер файла, я должен быть намного ниже предела 2 ГБ для всего, что под 8 веток. Тем не менее, я часто получаю предупреждения и иногда блокируюсь из-за превышения лимита и мне приходится удалять некоторые ветви

Я заметил, что скрытый каталог .git в корневом каталоге или проекте довольно большой (~ 3 ГБ). Как этот каталог обрабатывается в удаленном? Очевидно, это не загружено. Это воссоздано в пульте? Может быть, поэтому размер репо в пульте такой большой?

Я попытался запустить git gc, что уменьшило размер каталога .git примерно до 2,3 ГБ, но это не решило проблему, поскольку (1) этого недостаточно и (2) это локально для моей машины. Есть ли способ до git gc в пульте?

1 Ответ

1 голос
/ 03 октября 2019
  • Чтобы ответить на последний конкретный вопрос, похоже, что вы можете попросить службу поддержки Bitbucket выполнить GC для вас: https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html Однако, вероятно, имеет смысл делать это только тогда, когда вырешил основные проблемы, очистил репозиторий и просто нужно сделать этот последний шаг.

  • Количество ветвей само по себе не имеет никакого отношения к размеру хранилища. Ветви - это просто указатели в Git, заголовок каждой ветви составляет ровно 41 байт. https://git -scm.com / book / ru / v1 / Git-Branching-What-a-Branch-Is Важно то, сколько ревизий больших двоичных файлов у вас есть в вашей истории.

  • С практической точки зрения кажется, что вам придется удалять большие двоичные файлы из хранилища и / или из истории хранилища. Здесь есть хороший обзор ваших опций: https://help.github.com/en/articles/removing-sensitive-data-from-a-repository. Конечно, важно сначала полностью сделать резервную копию репозитория и тщательно изучить все последствия переписывания истории. Как только это будет сделано, вы можете переоценить свои параметры (git-lfs, другой хостинг git, не сохраняйте большие бинарные файлы в репо).

...