所以我们有我们的template_site
这基本上是我们构建的任何网站的前端基础。
我们有我们的cms
这是站点的后端并且驻留在template_site/cms
它自己的存储库中,因为我们经常使用它而不使用template_site
它
我们有我们的模块,其中包含驻留的文件
template_site/(all over the place)
和cms/modules/(name of module)
本质上,我们想要的是在它自己的 repo 中
拥有 The
在它自己的 repo 中。然后对于我们创建的每个模块,都将其作为另一个存储库的分支。但是我们只希望该存储库包含特定于模块的文件和对文件的更改,以便我们可以将模块拉入现有项目并让它只影响那些文件。cms
template_site
cms_modules
问题是基本上所有部分都是链接的,但是我们希望能够在处理模块时拉入对 的任何更改template_site
,并拉入对cms
这种设置的原因是,对于我们创建的每个站点,我们都希望将其克隆template_site
到它自己的存储库中,然后我们可以根据需要对其进行自定义。
我们应该怎么做?
或者这种设置有更好的工作流程吗?
我可以看到的适当设置是:
将cms_modules
存储库作为“超级项目”
让主分支中没有模块。
添加cms
为子模块
添加template_site
为子模块
这样我们就可以将 repo 克隆到它自己的存储库中并解决它,并且仅在需要cms_modules
时才初始化子模块。template_site
但是我在这里可以看到的唯一问题是我们希望cms_modules
副本(对于新站点)或分支(对于新模块)跟踪其根目录中的任何新文件,但也跟踪子模块内的任何更改或新文件,而不是他们各自的存储库会跟踪它们。
然后,如果存储库有更新,template_site
我们cms
可以 cd 进入它们各自的目录并发布更新,但同样我们希望将我们更改的任何文件的合并跟踪到存储cms_modules
库而不是相应的子模块。
如果我们想添加另一个模块,我们可以合并到该模块的分支中。
我们怎么能设置它?