我对git很陌生,我不知道如何以最好的方式解决这个具体问题。希望你们能为我提供一些好的解决方案。我在网上搜索但找不到像这样解决我问题的例子。也许这是一个设计缺陷?我找不到一个好的解决方案。
我有以下项目:
使用子模块,项目A的工作目录如下所示:
{{1}}
是否有更好的方法可以摆脱Common(2-4)和SqlApi(2)并让它们在一个项目中链接到相同的Common / SqlApi(1)版本?
也许我只是“常规盲目”,但我需要一些帮助来解决这个问题。
答案 0 :(得分:0)
有没有更好的方法来摆脱Common(2-4)和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
路径。这并不容易表明版本可能在Project A
的需求与其中一个子模块所需的版本之间存在差异/重叠。