Git 多个子模块引用

Git multiple submodule references

我是 git 的新手,我不知道如何以最佳方式解决这个具体问题。希望你们能给我一些好的解决方案。我在网上搜索但找不到这样的示例来解决我的问题。也许这是一个设计缺陷?我只是找不到好的解决方案。

我有以下项目:

有了子模块,项目 A 的工作目录如下所示:

Project A
    - Common(1)
    - SqlApi(1)
        + Common(2)
    - CoreLogic
        + Common(3)
        + SqlApi(2)
            * Common(4)

有没有更好的方法去掉 Common (2-4) 和 SqlApi (2) 并让它们都 link 在一个项目中使用相同的 Common/SqlApi(1) 版本?

也许我只是 "routine-blinded" 但我需要一些帮助来解决这个问题。

Is there an better way to get rid of the Common (2-4) and SqlApi (2)

简单:在 ProjectA 中,您只需制作 git submodule update --init,而不是 git submodule update --init --recursive (or git clone --recursive)

这将给出:

Project A
    - Common(1)
    - SqlApi(1)
    - CoreLogic

这意味着:

  • SqlAPICoreLogic 能够基于变量构建(一个变量用于 Common 路径,一个变量用于 SqlAPI 路径,
  • Project A 有一个构建脚本,它将充分设置 SqlAPICommon 路径。

这并不容易表明版本可能 different/overlapping 介于 Project A 和其中一个子模块所需的版本之间。