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