版本控制工具发展

1版本控制工具

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

1.1版本控制发展

1.1.1本地版本控制系统

许多人习惯用复制整个项目目录的方式保存不同的版本,为了区别和方便查重会加上备份的时间。这样虽然容易简单,但是容易犯错。有时候会混淆所在的工作目录,不小心就会写错文件或者覆盖意外的文件。
为了解决上述的问题,人们就开发了本地版本控制系统,大多数都是采用简单的数据库来记录文件的历史更新差异。其中最流行的是RCS。
本地版本控制系统

1.1.2集中式版本控制系统

本地版本控制系统不能解决不同系统上的开发者协同工作。于是集中式版本系统就诞生。 这一类系统例如CVS/Subversion以及Perforce等,都有一个单一的集中管理服务器,保存所有的修订版本。协同工作的人们通过客户端连接这台集中管理服务器,拉去最新的文件或者提交更新。在很长的一段时间着都是版本控制系统的标准做法。

集中式版本控制系统对于本地版本控制系统来说带来了很多好处。协同的每个人都可以看到项目中其他人的工作和提交。管理员也可以把控每一个开发的权限,所有人公用一个版本管理服务器。节约了在本地的资源浪费和无法共享的问题。

当然集中式版本管理系统也有坏的方面。中央服务器会出现单点故障,如果故障一小时,那么在这个小时内,谁都无法提交和更新,也无法协同工作。如果中心服务器磁盘损坏并且没有备份,那么将丢失所有的数据,包括项目的整个变更历史。
集中式版本控制系统

1.1.3分布式版本控制系统

基于本地、集中式版本管理系统的缺陷,分布式版本控制系统面世了。在这一类系统中,像git、mercurial、bazaari以及darcs等。客户端并不只保存最新版本的文件快照,而是把代码仓库的完整镜像下来。这样一来,任何一处协同工作用的服务器故障,事后都可以使用任意一个镜像出来的本地仓库恢复。
分布式版本控制系统

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读