git存储库中的依赖管理(使用子模块)

Lar*_*der 8 git dependencies project-management git-submodules

我有一个相当大的项目,有很多依赖项.项目存储在git存储库中,依赖项存储在作为子模块链接的专用git存储库中.依赖项可以具有进一步的依赖性(同样,使用git子模块).

这很好用.但是,如果两个依赖项同时需要第三个依赖项,则会遇到更新问题.

依赖关系图如下所示:

[Main Repo]
  |
  |-- [ModuleA]
  |       |
  |       \-- [ModuleC]
  |
  \-- [ModuleB]
          |
          \-- [ModuleC]
Run Code Online (Sandbox Code Playgroud)

现在我更新ModuleA和ModuleB中的子模块指针.这样两个模块都是自包含的.但是,这是很多工作.

在较大的项目中,这个问题通常如何解决?我正在寻找解决此类问题的最佳实践.

谢谢!

Von*_*onC 1

在更大的项目中,您想要的是将所有依赖项保留在一个级别上。

这并不意味着ModuleA并且ModuleB不要保留自己对ModuleC.

这意味着您当前的主要父存储库包含对 的依赖项ModuleC,它充当 的引用版本C
这还允许您检测何时必须覆盖依赖项,在您的情况下,对于两个子模块之一:对ModuleCforModuleA或 的依赖项ModuleB必须被ModuleC主存储库中的 to 覆盖。