第一章: 介绍
背景
版本控制系统(VCS), 是指一个可以管理和追踪软件代码或其他类似内容的不同版本的工具, 也称为源代码管理器(SCM), 或者修订控制系统(RCS).
Git 的诞生
Git 是由 Linus 创造的, 包含以下特性:
- 有助于分布式开发
- 能够胜任上千开发人员的规模
- 性能优异
- 保持完整性和可靠性
- 强化责任
- 不可变性
- 原子事物
- 支持并且鼓励基于分支的开发
- 完整的版本库
- 一个清晰的内部设计
- 免费自由
先例
VCS 的历史包含有以下的一些具有里程碑, 革新意义的系统:
- 源代码控制系统(SCCS), UNIX上最初的几个系统之一, 由 M.J.Rochkind 于 20 世纪 70 年代早期开发
- 修订控制系统(RCS), 由 Walter F.Tichy 于 20 世纪 80 年代早期开发
- 并行版本控制(CVS), 由 Dick Grune 于 1986 年设计并实现, 4年后被 Berliner 和他的团队融入 RCS 模型并重新实现, 变得非常流行, 并成为开源社区多年的事实标准
- Subversion(SVN), 2001年问世, 迅速风靡开源社区
- BitKeeper 和 Mercurial, 淘汰了中心版本库的概念, 数据的存储是分布式的
- Mercurial 和 Monotone 首创了用散列指纹来唯一标识文件的内容, 而文件名只是个别名, 旨在方便用户操作
时间线
Git 于 2005 年 4 月诞生.
- 4 月 7 日, Git 正式成为托管项目
- 4 月 16 日, Linux 内核开始使用 Git 管理
名字的含义
Linus 自己宣称命名为 Git 的原因是, "我是一个自私的混蛋, 我照着自己命令我所有的项目, 先是 Linux, 现在是 Git".
一些更让人舒服的解释, 其中最受欢迎的是: 全局信息追踪器(Global Information Tracker).