我有3个存储库:
应用程序需要Lib1和Lib2才能运行。 Lib1需要Lib2进行编译和引用。 我最近添加了Lib 2作为Lib 1的子模块,之后我将Lib1 和 Lib2作为子模块添加到Application存储库中。像这样:
-Application
|-submodule Lib1
| |-submodule Lib2
|-submodule Lib2
现在我的问题/问题: Lib2在Application存储库中重复。如果我想在其他地方使用这两个库(其他项目/存储库),那么将子模块Lib2添加到Lib1和Application是正确的选择吗?或者最好只将编译器中的库作为附加的包含文件夹包含在内,让开发人员自己获取或签出他们的存储库?
答案 0 :(得分:1)
对于多个依赖项,最佳做法是在一个级别列出所有依赖项。
因此,Application会将Lib1和Lib2作为依赖项 Lib1对Lib2具有依赖性的事实可用于检查App是否指向与Lib1相同的Lib2。
但这个想法仍然是:
git submodule update --init
中)只有App中的子模块(所以这里没有--recursive
)Lib1
构建App/lib2
,而不是./Lib2
。