如何确定哪个模块是git中另一个模块的子模块?
假设一个模块如何确定哪个模块是git中另一个模块的子模块?,git,git-submodules,Git,Git Submodules,假设一个模块a,一个测试模块T 我想决定哪一个应该是另一个的子模块 直觉上,我认为将T作为a的子模块是有意义的,因为它本身没有意义 然而,我读到的例子是 。。。如果技术环境允许包装和正式 依赖关系管理,你绝对应该走这条路 请假设我们目前没有能力建立打包管道,因此需要使用子模块 根据这一原理,将A视为一个包,并为T安装它是有意义的,这意味着A实际上是T的一个子模块 这让我感到困惑,我想知道这个用例的最佳实践,最好是关于如何决定“什么是什么的子模块”这一主要问题的经验法则。您主要使用子模块来实现对
a
,一个测试模块T
我想决定哪一个应该是另一个的子模块 直觉上,我认为将
T
作为a
的子模块是有意义的,因为它本身没有意义
然而,我读到的例子是
。。。如果技术环境允许包装和正式
依赖关系管理,你绝对应该走这条路
请假设我们目前没有能力建立打包管道,因此需要使用子模块
根据这一原理,将A
视为一个包,并为T
安装它是有意义的,这意味着A
实际上是T
的一个子模块
这让我感到困惑,我想知道这个用例的最佳实践,最好是关于如何决定“什么是什么的子模块”这一主要问题的经验法则。您主要使用子模块来实现对依赖关系的高度控制。考虑到
A
和T
的情况,A
肯定应该是子模块,因为它是T
的依赖项。更可能的情况是,您希望坚持将A
作为子模块,以便您的测试项目T
以A
的特定版本为目标
此外,如果我的项目A
是一个子模块,那么我觉得更自然,因为它是许多其他项目的依赖项:通过这种方式,它们中的每一个都可以获得它们兼容的A
版本
最后但并非最不重要的一点是,假设您想从零开始重新启动测试项目T
:如果A
是一个子模块,您可以销毁T
,而不必担心任何事情。相反,如果A
将T
作为子模块,则需要处理该问题,并重新与新的测试项目进行链接
关于拇指法则,这里是我的:如果A
依赖于B
,B
成为子模块。遵循此规则,可以单独开发依赖项