版本控制系统

来源:互联网 发布:库存软件哪个好 编辑:程序博客网 时间:2024/05/01 15:48

版本控制系统是一种记录若干文件变化,以便将来查阅特定版本修订情况的系统。

 

版本控制系统大量的应用在软件源代码的管理中。在这种情形下,多名程序员合作完成同一个项目,每个人对该项目贡献修改的代码都记录在版本控制系统中。

 

根据版本控制系统记录的信息,可以很快的找到谁最后修改了什么东西,因此可以很方便的恢复到项目开发的不同时间点。

 

(1)本地版本控制系统

 

本地版本控制系统通过记录历次文件修改之间的差异,来记录项目的不同版本。

 

经典的本地版本控制系统如rcs

 

(2)集中化的版本控制系统

 

为了让多人协同工作,集中式的版本控制系统应运而生(CVCS),比较常见的如:CVS, Subversion, Perforce等。

 

这些系统都有一个单一的集中管理的服务器,用来保存文件的所有修订版本。而协同工作的用户,则通过客户端连接到该服务器上,取出文件的某个快照,修改并提交更新。

 

虽然集中化的版本控制系统具有便于管理的优点,此外每个人都可以了解别人在做些什么东西。

 

但它的一个缺陷就是单点故障,当服务器因为故障而宕机,那么谁都无法提交更新,更别提协同工作了。

 

当服务器因为物理问题而导致数据丢失时,各个用户本地存在的只是某个版本的快照,没有整个数据的镜像,因此会导致数据无法恢复。

 

(3)分布式版本控制系统

 

分布式版本控制系统(DCVS)的特定在于,用户每次迁出的不是某一个版本的快照,而是原始数据的整个镜像。

 

因此当服务器发生故障的时候,可以任何一个本地镜像进行恢复。

 

常见的DCVS如:Git,Mercurial,Bazaar 以及 Darcs 等

原创粉丝点击