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