子模块是否相反?

时间:2018-06-25 05:09:33

标签: node.js git express workflow git-submodules

我目前正在与多个团队一起进行大型项目。我们有一台运行Express的nodejs服务器来处理请求,并已构建了所有路由。

现在,所有路由都指向存根。我想做的是能够将每个存根分解为每个团队可以独立工作的子模块。通常,我们将为每个部分创建单独的项目并独立构建它们,仅将它们组合在一起形成最终产品,但这通常需要大量工作才能与服务器分别测试每个项目,然后再次将它们一起进行测试。

有什么办法可以做相反的子模块吗?例如,我们有项目A(核心Express服务器),项目B和项目C可以分别检出,结果如下:

项目:A,A + B,A + C

The use case would be, we have one team working on the server (http handling). Another team (B) can pull from Project A's master branch to work on their stub - User handling. Yet another team (C) can pull from Project A's master branch to work on their stub - Order handling.

我们可以有一个共享的根项目,可以从中提取更新,而只允许我们在服务器上工作吗?还是项目内部的项目是唯一的方法?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果在技术上可以并排检查核心服务器和处理程序的代码 ,然后以某种方式使它们相互可见(例如,通过符号链接),则可以使用子模块,只需换句话说:处理程序项目会将核心服务器作为其子模块。

除非如此,否则您可以考虑所谓的“子树合并” 基本上是在存储库的前缀(子目录)下合并远程存储库的一种方法。

后者可以完成 by hand 或使用git subtree助手 它早已集成到Git中,并且在此之前可以作为其“ contrib”脚本使用(FWIW,在Debian及其衍生版本上也以直接可用的方式打包)。