Я использую GIT для управления проектом системы управления контентом (CMS). CMS может иметь несколько плагинов (модулей).
В общем, я хочу иметь 3 типа репозиториев:
- Разработка ядра CMS (каждый новый проект - это проверка последней стабильной и ненастроенной версии)
- 1 репозиторий на модуль / плагин. (каждый новый проект будет извлекать последнюю стабильную версию модуля, который они хотят реализовать)
- 1 репозиторий на проект (каждый клиент будет репозиторием, представляющим персонализацию из базовой CMS и модулей)
Для типов 1 и 2, я думаю, это простой базовый репозиторий.
Но когда дело доходит до клиентского проекта, я запутываюсь:
- Сначала я клонирую CMS, затем захожу в папку / modules / и снова клонирую все необходимые модули? Это сделает хранилище внутри хранилища! Будет ли первый репозиторий пытаться зарегистрировать папку .git / каждого модуля?
- Я не могу использовать субмодуль, так как каждый клиент нуждается в персонализации своих модулей.
- Если я изменю основной компонент модуля (не персонализацию, просто исправление ошибки), могу ли я отправить этот единственный файл в исходное хранилище модуля?
- (речь не идет о модульном тесте, который будет распространяться вокруг)
Так что вопрос такой:
Как мне организовать репозиторий (ы) / файлы / папки, чтобы быть эффективными?