探索单存储库与多存储库

已完成

存储库是工作历史记录的存储位置,通常位于 git 子目录中。

应如何组织代码存储库? 开发团队的目标是分离软件和存储库中的关注点。 随着时间的推移,代码存储库中充满不相关的代码和项目的情况并不罕见。

在组织存储库时,有两种主要理念:使用单个存储库(单一存储库)或多存储库。

  • 单一存储库是一种源代码管理模式,其中所有源代码都保存在一个存储库中。 让所有员工同时访问所有内容很容易。 克隆它即可。
  • 将项目组织到多个独立存储库的方式称为多存储库。

单一存储库和多存储库理念之间的根本区别在于,如何使团队最高效地协作。 在极端情况下,多存储库视图表明每个子团队都可以在其存储库中工作。 它允许他们使用库、工具和开发工作流程在各自的领域工作,从而优化其工作效率。

使用未在给定存储库中开发的任何内容的成本与使用第三方库或服务相当,即使它是由附近的人编写的。

如果你在库中遇到 bug,则应在相应的存储库中解决它。 发布新项目后,可以返回到存储库并进行必要的代码更改。 但是,如果 bug 位于不同的代码库中或涉及不同的库、工具或工作流,则可能需要向该系统的所有者寻求帮助并等待其回复。

使用单一存储库视图时,管理复杂的依赖关系图可能增加使用单个存储库的难度。 允许不同团队独立工作的好处并不显著。 有些团队可能找到了有效的工作方式,但并非所有团队都如此。 此外,另一些团队可能会选择次优方法,从而否定其他团队获得的任何好处。 将所有工作合并到单一存储库中,让你可以专注于密切监视这一个存储库。

在任何人都可以更改任何内容的单一存储库中,可以免去在其他存储库中进行更改或等待团队为你进行更改的麻烦。

如果在库中发现 bug,修复它就像在自己的代码中查找 bug 一样简单。

注意

在 Azure DevOps 中,通常为项目中的每个关联解决方案使用单独的存储库。