Version Control 类型
常见的有 4 种 Version control 系统。
- 复制⽂件 File copy version control: 复制⽂件,然后重命名,如 ”最终版“。
- 本地版本控制 Local version control systems: 利⽤本地 VC 软件去控制版 本,⽽不是复制⽂件。
- 中⼼化的版本控制 Centralized version control systems: 本地只留有⽂件, ⽽不同版本的快照信息被存在⼀个中⼼化服务器上。由于有了中⼼化服务器,可 以便于团队协作,但是由于是中⼼化的,所以服务器很重要,⼀旦发⽣问题,就 会版本混乱。如CVS,Subversion,Perforce。
- 分布式的版本控制 Distributed version control systems: 服务器上和本地 都留存有⼀份版本快照信息数据,这样克服了中⼼化版本控制系统的缺陷。如 Git,Mercurial,Bazaar,Darcs等。
Git 的简单历史
Git 的源起历史也很有趣。在2015年4月之前,Linux kernel 的开发主要免费使 用 BitKeeper 做版本控制。但是由于开源软件开发者Andrew Tridgell试图对 BitKeeper 进行逆向工程,BitKeeper 的公司决定收回对 Linux 项目的免费使 用授权。Linux 创始者Linus Torvalds 想要继续使用一个免费的类似于 BitKeeper 的软件,但是市面上并没有。于是Linus Torvalds 决定自己开发, 2005年4月3日,宣布成立项目,而在 2005年4月18日,释放出了初始版本。Git 在版本控制上有着相当快的速度,同时有着类似 BitKeeper 的使用流程,基本 满足了 Linus Torvalds 的需求。实际上 Mercurial 版本控制软件也是几乎同 一时间被开发用来取代 BitKeeper 的,不过在 Linux 项目开发最终决定采用 Git 作为版本控制软件。