首页 > 解决方案 > 子模块的git公共子模块

问题描述

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

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

现在我的utility_functions项目中有三次。通常sub_Asub_B并且main都应该指向utility_functions.

存储库中的代码必须A能够自行运行。如果我只克隆A它应该包括我的utility_functions

A
|
|---- utility_functions

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

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

标签: gitgit-submodules

解决方案


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

是的,正是因为这个原因,这并不实用。

如果您确定A并且B应该始终引用相同版本的utility_functions,则克隆您的主存储库并仅更新A, Band utility_functions(没有递归选项),并从A/utility_functionsB/utility_functions到建立符号链接../utility_functions


推荐阅读