Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护
工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002 年间)。到 2002
年,Linux 系统已经发展了十年了,代码库之大让 Linus 很难继续通过手工方式
管理了,于是整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维
护代码。
到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的
合作关系结束(为什么结束大家可以自己百度查一查,也是有故事的),他们收
回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux
的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控
制系统才不至于重蹈覆辙。他们对新的系统订了若干目标:
- 速度
- 简单的设计
- 对非线性开发模式的强力支持(允许上千个并行开发的分支)
- 完全分布式
- 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)