在我们的开发环境中,我们有一个自定义框架。虽然我们所有的项目都是从基础开始的,但它是通过使用插件和主题在一个项目基础上扩展的。
文件夹结构为:
- 核心(包含所有项目之间的共享代码)
- 插件(每个子文件夹都是一个插件,有些存在于所有项目中,有些是特定于项目的)
- 主题(仅包含项目特定的代码)
目前我们克隆我们的主仓库删除 .git 文件夹,创建一个新的仓库并进行我们的更改。如果在项目或主仓库中修复了功能或错误,我们目前手动将更改与各种差异工具(主要是 winmerge)合并,以确保项目特定主题或插件不会进入主仓库并且所有项目都有最新的核心和共享插件。
我知道必须有更好的方法,也许使用子模块?核心作为子模块,每个插件作为子模块,每个主题作为子模块?那么每个项目都是自己的回购?
或者结构不是最适合这种设置?