我正在使用 GIT 来管理内容管理系统 (CMS) 项目。CMS 可以有多个插件(模块)。
所以基本上,我想要 3 种类型的存储库:
- 核心 CMS 开发(每个新项目都是对最后一个稳定和未配置版本的检查)
- 每个模块/插件 1 个存储库。(每个新项目都会检查他们想要实现的模块的最后一个稳定版本)
- 每个项目 1 个存储库(每个客户端将是一个代表核心 CMS 和模块的个性化的存储库)
对于类型 1 和 2,我想它是简单的基本存储库。但是当谈到客户项目时,我感到困惑:
- 首先我将克隆 CMS,然后进入 /modules/ 文件夹并再次克隆所有必需的模块?这将在存储库中创建一个存储库!第一个 repo 会尝试记录每个模块的 .git/ 文件夹吗?
- 我不能使用子模块,因为每个客户都需要个性化他们的模块。
- 如果我修改模块的核心组件(不是个性化,只是错误修复),我可以将该单个文件推送到原始模块存储库吗?
- (不谈论将四处传播的模块 unitTest )
所以问题是:我应该如何组织存储库/文件/文件夹以提高效率?