Git 多个子模块引用
Git multiple submodule references
我是 git 的新手,我不知道如何以最佳方式解决这个具体问题。希望你们能给我一些好的解决方案。我在网上搜索但找不到这样的示例来解决我的问题。也许这是一个设计缺陷?我只是找不到好的解决方案。
我有以下项目:
- 普通
- SqlApi: 取决于具体Common版本
- CoreLogic:取决于特定的 Common 和 SqlApi 版本
- 项目A:取决于具体的CoreLogic、SqlApi和Common版本
- 项目 B:取决于特定的 CoreLogic 和 Common 版本
有了子模块,项目 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
这意味着:
SqlAPI
和 CoreLogic
能够基于变量构建(一个变量用于 Common
路径,一个变量用于 SqlAPI
路径,
Project A
有一个构建脚本,它将充分设置 SqlAPI
和 Common
路径。
这并不容易表明版本可能 different/overlapping 介于 Project A
和其中一个子模块所需的版本之间。
我是 git 的新手,我不知道如何以最佳方式解决这个具体问题。希望你们能给我一些好的解决方案。我在网上搜索但找不到这样的示例来解决我的问题。也许这是一个设计缺陷?我只是找不到好的解决方案。
我有以下项目:
- 普通
- SqlApi: 取决于具体Common版本
- CoreLogic:取决于特定的 Common 和 SqlApi 版本
- 项目A:取决于具体的CoreLogic、SqlApi和Common版本
- 项目 B:取决于特定的 CoreLogic 和 Common 版本
有了子模块,项目 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
这意味着:
SqlAPI
和CoreLogic
能够基于变量构建(一个变量用于Common
路径,一个变量用于SqlAPI
路径,Project A
有一个构建脚本,它将充分设置SqlAPI
和Common
路径。
这并不容易表明版本可能 different/overlapping 介于 Project A
和其中一个子模块所需的版本之间。