我应该将这些相互依赖的git项目分组吗?

时间:2012-06-04 02:57:47

标签: git

假设我有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)
  8. 我认为上面的git项目部门以实用的方式演变为并行工作流组织。

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

    一方面,通过比较一个项目的time_1 SHA-1哈希与同一项目的time_2 SHA-1,可以更容易地表示整个系统的变化。

    另一方面,我读了这些SO answers,其中提到了分组太多项目的复杂性成本。此外,Linus还提到了git系统的灵活性,甚至可以在不同的项目中使用分支,还能够在以后切换分组策略(但我们不会采用这种方法,因为我们是风险厌恶的新手)。

    任何建议或指导方针都会考虑到具有高操作风险和低专业经验的企业,我们非常感谢。

1 个答案:

答案 0 :(得分:1)

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

正如我在“true nature of submodules”中解释的那样,只要在父仓库中记录新的子模块状态,您仍然可以在子模块中进行修改。