1

假设我有 5 个相互依赖的 git 项目:

  1. 数据库(与下面的服务器对话)
  2. 渲染服务器(与下面的服务器对话)
  3. 主应用服务器(REST API)
  4. 启动:用于构建上述 Amazon 4 EC2 机器的脚本和 json。
  5. 测试:在 App Server 上运行
  6. Javascript API(依赖于 REST API)
  7. JS 和 REST API 文档(依赖于 REST API)

我假设上面的 git 项目部门以一种实用的方式演变为并行工作流组织。

问题在于,整个系统的成功取决于确保上述 7 个项目彼此一致,处于一致的状态。

一方面,通过仅将一个项目的 time_1 SHA-1 哈希与同一项目的 time_2 SHA-1 进行比较,似乎更容易表示整个系统的变化。

另一方面,我阅读了这些SO answers,其中提到了对太多项目进行分组的复杂性成本。此外,Linus 还提到了 git 系统的灵活性,甚至可以将分支用于不同的项目,以及在以后切换分组策略的能力(但我们不会这样做,因为我们是规避风险的新手)。

非常感谢任何考虑到高运营风险和低专业经验的企业的建议或指南。

4

1 回答 1

1

虽然有点复杂,但“分组”策略有优点并且值得一试:
它被称为子模块,允许您为所有项目定义一个唯一的引用,同时允许您将这些项目作为独立的 git 存储库进行管理。

正如我在“子模块的真实性质”中解释的那样,您仍然可以在子模块中进行修改,只要您在父 repo 中记录新的子模块状态。

于 2012-06-04T04:33:24.863 回答