Как я могу заставить участников повторно клонировать наш репозиторий? - PullRequest
0 голосов
/ 24 мая 2018

Наш репозиторий git вырос до громоздкого размера из-за случайного добавления в него двоичных файлов, изображений и т. Д.В репо в настоящее время нет больших файлов, но в истории репо есть большие файлы.

Я планирую удалить эти большие файлы из нашей истории git, и я нашел несколькохорошие ресурсы и SO ответы для этого (https://rtyley.github.io/bfg-repo-cleaner/, Как удалить / удалить большой файл из истории коммитов в репозитории Git? , https://help.github.com/articles/removing-files-from-a-repository-s-history/).

Моя основная проблемачто у нас есть несколько участников нашего репо (размещенных на Bitbucket), и я беспокоюсь, что как только я вычеркну большие файлы из истории, наши участники будут push история с большими файлами обратно в удаленное хранилище..

В частности, документация BFG Repo Cleaner гласит:

На этом этапе вы готовы, чтобы каждый мог отказаться от своих старых копий репо иделайте свежие клоны из хороших, новых нетронутых данных. Лучше удалить все старые клоны, так как у них будет грязная история, которую вы не хотите рисковать, возвращаясь в недавно очищенный репозиторий.

Итак, мой вопрос состоит из двух частей:

  1. Есть ли способ гарантировать, что толчки от старых клонов репо не будут повторно представлять большие файлы?
  2. Если нет, то есть ли способ, чтобы старые клоны не давили и, следовательно, требовали, чтобы все участники начали с нового клона?

Спасибо!

1 Ответ

0 голосов
/ 24 мая 2018

Для git в целом вы должны использовать ловушку предварительного получения на репо origin.Когда push получено, ловушка запускается;и если хук не любит содержимое толчка, он отклоняет его.Таким образом, вы могли бы написать сценарий, который ищет большие объекты, или для определенных типов файлов, или для всего, что, по вашему мнению, будет наиболее эффективно обеспечивать ваши требования.См. Документацию по git-хуку (https://git -scm.com / book / en / v2 / Customizing-Git-Git-Hooks ).

Для битовой корзины, от https://confluence.atlassian.com/bitbucketserverkb/how-to-create-a-simple-hook-in-bitbucket-server-779171711.html:

Bitbucket Server предлагает два основных способа создания ловушки.

Рекомендуется создать плагин, используя нашу среду разработки плагинов Java.Также возможно, хотя настоятельно не рекомендуется , создать ловушку Git на стороне сервера в файловой системе вашего экземпляра Bitbucket Server.

Страница далее объясняет их рекомендуемый способдля настройки крючка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...