我们正在尝试按以下方式在Git上组织一个Python Project P1的代码库。该项目用于文档处理。该文档可以具有多个标准(变体),因此需要不同的处理方法,但是所有标准之间的共同点是要处理的组件类型始终保持不变。
后端位于集成仓库中,该仓库具有主模块和包装器脚本,用于初始化和处理每种组件类型,而与标准无关。它只有一个MASTER分支,其作用类似于骨架,并提供项目的顶级功能。我们无意为任何内部版本更改此MASTER中的代码。
前端位于另一个UI仓库中,并且为了支持某些自定义UI,为此提供了另一个仓库。图中显示了三个存储库之间的关系。应当将Web-UI与前端和后端一起托管在云中。
后端与作为开发仓库的4个组件仓库进行通信。每个仓库(A,B,C,D)独立处理特定的文档组件。可以看到,在每个组件存储库下都有MASTER和另外3个分支(B1,B2,B3)。每个分支对应每个文档标准,并且 每个分支下的代码都保存在某些文件夹(1,2,3)中,以指示开发阶段。每个组件存储库的MASTER分支都包含固定的代码集,这些代码集很少更改,并且在那里支持开发,因此非常稳定。 MASTER上的代码应该在所有标准中使用而无需更改。仅分支B1或B2或B3上的代码将被集成以进行部署。
构建:要进行构建,我们可能需要一个配置文件来指定集成路径,例如Repo A:B2:F3 + Repo B:B2:F1 + Repo C:B2:F1 +仓库D:B2:F2。实际上,根据处理量的不同,某些存储库会比其他存储库更活跃。