Git分布式版本控制工具

1. Git概述

1.1 Git历史

Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。

他们对新的系统制订了若干目标:

速度

简单的设计

对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

完全分布式

有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

1.2 Git与SVN对比

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。

集中式版本控制工具缺点:

服务器单点故障

容错性差

1559580034272

Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库: