我有一个应用程序main,它由多个子模块A,B和utility_functions组成:
这些子模块A和B本身都包括子模块utility_functions.
main
|
|---- A
| |
| |---- utility_functions
|
|---- B
| |
| |---- utility_functions
|
|---- utility_functions
现在我在我的项目中有三次实用程序功能.
通常sub_A,sub_B和main都应该指向utility_functions的相同提交.
存储库A中的代码必须可以自行运行.
如果我只克隆A,它应该包括我的utility_functions
A
|
|---- utility_functions
有没有办法只告诉主存储库中包含的子模块依赖于相同的utility_functions?或者这是否打破了子模块的想法,因为它们可以指向不同的提交?或者这只是一个坏主意?
main
|
|---- A
| |
| |----
| |
|---- B |
| | |
| | |
| | |
|---- utility_functions
最佳答案
Or does this break the idea of submodules because they can point to different commits?
是的,正是因为这个原因才行不通.
如果您确定A和B应始终引用相同版本的utility_functions,则克隆主repo并仅更新A,B和utility_functions(不带递归选项),并从A / utility_functions和B / utility_functions创建符号链接../utility_functions.