版本控制概念

来源:互联网 发布:计算机端口号 编辑:程序博客网 时间:2024/06/05 08:34

版本控制的概念可以理解为记录文件内容随时间的变化,以便查阅特定时间版本修订情况,其发展接阶段和方法包括如下几种。

方法一:

通过复制整个项目目录的方式来保存不同的版本,或许再加上备份时间以示区别。

好处:就是简单

不足:易混淆工作目录,弄错弄丢文件没法撤销恢复,占用较多的存储空间

 

方法二:

本地版本控制系统

如最流行 rcs,它的工作原理基本上就是保存并管理文件补丁(patch),文件补丁是一种特定格式的文本文件,记录着对应文件修订前后的内容变化。所以,根据每次修订后的补丁,rcs可以通过不断打补丁,通过基线版本和补丁计算出各个版本的文件内容。

好处:便于本地管理

不足:不便于不同人员在不同系统上协同开发
 

方法三:

集中版本控制系统( Centralized Version ControlSystems,简称 CVCS

CVSSubversion以及 Perforce等,包括保存所有文件的修订版本的一个集中管理服务器,所有协同开发人员都通过客户端连到这台服务器,取出最新的文件或者提交更新。

好处相较于老式的本地VCS,每个人都可以在一定程度上获知其他人正在做些什么,管理员也可以轻松掌控每个开发者的权限,容易管理。

不足:中央服务器若发生单点故障,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘故障又没做备份,还是会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。

 

方法四:

分布式版本控制系统( Distributed Version ControlSystem,简称 DVCS

GitMercurialBazaar以及 Darcs等,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。

好处:任何一处协同工作用的服务器发生故障,都可以用任何一个镜像出来的本地仓库进行恢复,每一次的提取操作都是一次对代码仓库的备份。许多这类系统都可以指定和若干不同的远端代码仓库进行交互。

不足:略

 

原创粉丝点击