关于 - 分布式
分布式
任何分布式 SCM(包括 Git)最棒的功能之一就是它的分布式特性。这意味着您不是执行源代码当前版本的“检出”,而是执行整个存储库的“克隆”。
多备份
这意味着即使您使用的是集中式工作流程,每个用户实际上都拥有主服务器的完整备份。如果发生崩溃或损坏,每个副本都可以被推送以替换主服务器。实际上,除非存储库只有一个副本,否则 Git 没有单点故障。
任何工作流程
由于 Git 的分布式特性和出色的分支系统,几乎无限数量的工作流程可以相对轻松地实现。
Subversion 风格的工作流程
集中式工作流程非常常见,尤其是在从集中式系统迁移过来的人群中。如果自上次获取以来有人推送了更改,Git 将不允许您推送,因此所有开发人员都推送到同一服务器的集中式模型可以正常工作。
集成管理者工作流程
另一种常见的 Git 工作流程涉及一位集成管理者——将更改提交到“受信任”存储库的唯一人员。然后,许多开发人员从该存储库克隆,推送到他们自己的独立存储库,并请求集成者拉取他们的更改。这通常是开源或 GitHub 存储库中所见的开发模型。
独裁者和副官工作流程
对于更大的项目,类似于 Linux 内核的开发工作流程通常很有效。在此模型中,某些人(“副官”)负责项目的特定子系统,并合并与该子系统相关的所有更改。另一位集成者(“独裁者”)可以仅从其副官处拉取更改,然后推送到“受信任”存储库,然后每个人都再次从中克隆。