在我们公司,我们通过堆积几个框架/库来制作项目:
/Framework
/Extensions (depends on Framework)
/Business (depends on Framework & Extensions)
/Project A (depends on Framework & Extensions & Business)
/Project B (depends on Framework & Extensions & Business)
/Project C (depends on Framework & Extensions & Business)
/...
到目前为止,我们正在使用一个包含所有项目和框架的大型 git 存储库,并且我们正在使用git subtree来拆分框架以发布它(它是开源的)。
我们希望能够将这个大存储库拆分到不同的项目中,但是有这么多递归依赖项的事实让我担心:
AFAIK,两个 git 子模块/git 子树都要求所有库代码都在主存储库中,所以我们最终会得到这样的项目结构:
/Framework
/Extensions/Framework
/Business/Extension/Framework
/Project A/Business/Extensions/Framework
/Project B/Business/Extensions/Framework
/Project C/Business/Extensions/Framework
我们不喜欢到处都有这么多的框架副本,也不喜欢框架文件夹在层次结构中如此深入。
我们想要的是项目 A 存储库在拉取时断言存在与当前包含一些 SHA的存储库并排,并检查此 SHA。
有没有办法让 git 子模块/子树并排?