我们在Git上有一个项目,该项目已经变得很大。由于这个和其他原因,我们希望将这个大型项目拆分为多个存储库。为了使这项工作有效,我们需要创建一个“主”存储库(我们将其称为core
),并将其他存储库(我们称为这些模块)作为core
中的子存储库。主要开发不是在core
中发生,而是主要在模块中发生。 core
是稳定的,很少更改。
管理这种存储库体系结构的最简单方法是什么?我已经读过submodules
以及它们经常被描述为难以使用的知识。我还阅读了subtrees
作为一种更简单的选择。我还找到了subrepo项目。
以下哪个选项最适合我们的工作流程,即对core
的更新相对较少,而对模块的更新则相对多数。
此外,这些选项中的哪一个将使我们能够轻松地与外部协作(例如,授予访问core
和模块A而不授予模块B的权限。