版本管理器的学习总结

版本管理器的学习总结

 

在软件工程不断发展的过程中,各种各样的软件开发方法,技术和工具也在发展,其中当然也包括版本控制工具.下面就简单探讨一下版本控制工具的发展及各自的功能特点,希望对公司选择版本控制工具的时候有参考价值.

版本控制工具的发展大概经历了3代,从开始的使用锁的第一代,到集中式的第二代,再到现在的分布式的第三代.

第一代版本控制工具使用锁的机制,一次只能一个人修改一个文件,并不支持并行开发.典型例子是RCS,SCCS.

第二代版本控制工具是集中式的,支持并行开发,一次可以修改很多文件,但是有一个很大的限制是必须在提交前合并,如果有冲突的话,典型例子是CVS, Subversion, SourceSafe.

第三代版本控制工具是分布式的,它没有集中式提交前合并的限制,主要在2000年以后随着开源软件的发展而发展起来,不断在发展壮大,速度也快,典型例子是Bazaar, Git, Mercurial.

下面表格是3代版本控制工具的比较:

网络

操作

并行性

模式

典型例子

1

一次一个文件

RCS, SCCS

2

集中式

多个文件

提交前合并

直线式

CVS, SourceSafe, Subversion

3

分布式

变更集

先提交再合并

DAG

Bazaar,Git,Mercurial

 

 

另外简单探讨一下我熟悉的版本控制工具.

当然提起版本控制工具,就不能不谈Clearcase,它提供了强大的版本控制,并行开发,多地同步,安全控制是靠操作系统的权限管理的,缺点就是公司需要根据自己的流程开发集成的脚本和触发器等工具,而且各个公司的工具也不统一.UCM在Clearcase的基础上,基于流的概念实现了统一,而且支持变更集的概念,大大提高了效率.最近IBM的Rational又针对这几年分布式版本控制工具的特点推出了RTC,目的是在集中式的存储库的方式下,体现出分布式版本控制工具的大部分优点,如支持个人工作环境,通过锁定的方式支持希不希望并行修改,支持分布式工作流.当然IBM的这套工具虽然功能强大,但是价格不菲,而且需要服务器的安装相当复杂,一般都是传统大公司在使用Clearcase或者UCM,而新公司选择RTC的比较多.

Subversion是集中式的版本控制工具,并且是开源的,适合中小型的公司,而且也比较简单,当然功能有限,安全性也差.

Perforce是另一个在很多公司使用的集中式的版本控制工具,支持变更集的概念,有安全控制,性能也很好,但是不开源,当然比Clearcase便宜很多,架构也比Clearcase简单.值得一试.

Git 基于 DAG 结构 (Directed Acyclic Graph),其运行起来相当的快。在Git发布后的来年,世界上所有的大型的开源项目全部从Subversion迁移到了Git上,http://www.github.com/真是很大,这可能是这具星球上最强大最牛最酷的SCM系统了。Git可能并不是最简单的,但它一定会是未来十年的主流。

 

注:以上内容主要来自文章<Version Control by Example>,读者可以用下面的连接详细学习.

http://www.ericsink.com/vcbe

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值