git子模块的common子模块

时间:2018-06-26 21:04:36

标签: git git-submodules

我有一个应用程序main,它由多个子模块AButility_functions组成: 这两个子模块AB本身都包含子模块utility_functions

main
|
|---- A
|     |
|     |---- utility_functions
|
|---- B
|     |
|     |---- utility_functions
|
|---- utility_functions

现在我在项目中有3次utility_functions。 通常sub_Asub_Bmain都应指向utility_functions的同一提交。

来自存储库A的代码本身必须可运行。 如果我仅克隆A,则应包括我的utility_functions

A
|
|---- utility_functions

有没有办法只告诉我包含在主存储库中的子模块依赖相同的utility_functions?还是因为子模块可以指向不同的提交而打破了子模块的想法?还是这只是个坏主意?

main
|
|---- A
|     |
|     |----
|         |
|---- B   |
|     |   |
|     |   |
|     |   |
|---- utility_functions

1 个答案:

答案 0 :(得分:1)

  

这是否打破了子模块的想法,因为它们可以指向不同的提交?

是的,正是由于这个原因,这是不实际的。

如果您确定AB应该始终引用相同版本的utility_functions,则克隆主存储库并仅更新{{1 }},AB(不带递归选项),并建立从utility_functionsA/utility_functionsB/utility_functions的符号链接。