您的位置:首页 > 其它

项目版本控制简介

2013-01-15 11:40 162 查看
项目版本控制简介
版本控制是程序开发、管理必不可少的工具,特别是在多人协作的团队中,适宜的版本控制工具可以提高开发效率,消除很多由代码版本带来的问题。通过使用版本控制技术及工具,可以确保在软件项目开发中不同的开发人员所涉及的同一文档都得到正确的更新。

为什么要使用版本控制工具?

如果没有版本控制工具的协助,在开发中我们经常会遇到下面的一些问题:

一、 代码管理混乱。如果是别人添加或删除一个文件,你很难发现。没有办法对文件代码的修改追查跟踪。甚至出现文件丢失,或新版本代码被同伴无意覆盖等现象。

二、 解决代码冲突困难。当大家同时修改一个公共文件时,解决代码冲突是一件很头疼的事。最原始的办法是手工打开冲突文件,逐行比较,再手工粘贴复制。更高级的做法是使用文件比较工具,但仍省不了繁杂的手工操作,一不小心,甚至会引入新的bug。

三、 在代码整合期间引入深层BUG。例如开发者A写了一个公共函数,B觉得正好可以复用;后来A又对这个公共函数进行了修改,添加了新的逻辑,而这个改动的却 是B不想要的。或者是A发现这个公共函数不够用,又新做了一个函数,B却没有及时获得通知。这些,都为深层BUG留下隐患。

四、 无法对代码的拥有者进行权限控制。代码完全暴露在所有的开发者面前,任何人都可以随意进行增、删、改操作,无法指定明确的人对代码进行负责。特别是产品的开发,这是极其危险的。

五、 项目不同版本发布困难。特别是对产品的开发,你会频繁的进行版本发布,这时如果没有一个有效的管理产品版本的工具,一切将变得非常艰难。

上面只是列举了一些没有版本控制系统可能带来的问题,特别是对大型项目和异地协同开发有了一个合适的版本控制工具,它可以有效解决因为代码版本不同引起的各种问题,让我们的开发人员能更多的把精力花费在开发上面。而不是每次都花费很多时间进行代码整合和解决版本不同带来的各种问题。

常用版本控制工具

更为详细的介绍请参见final博客 版本控制有哪些工具

Visual SourceSafe(VSS)-- 入门级

简单易用、方便高效、与Windows操作系统及微软开发工具高度集成。

CVS (Concurrent Versions System)-- 开源奇葩

CVS也称作协作版本系统,最早出现于 1986 年,以shell脚本的形式出现。它是一款开放源代码软件,其功能强大、跨平台、支持并发版本控制而且免费,所以它在中小型软件企业中得到广泛使用。CVS最大的遗憾就是缺少相应的技术支 持,许多问题的解决需要自己寻找资料,甚至是研究源代码。CVS是一个典型的C/S软件,支持远程管理,项目组分布开发时一般都采用CVS做代码 及文档的版本控制。现在 CVS 的控制模型已经非常的老旧,很多项目已经放弃使用,转而使用新的版本控制系统。

SVN (SubVersion)-- CVS改进版本

SVN是对CVS的缺点进行改进产生的版本控制工具。相对于 CVS 的主要不同,即采用了分支管理系统,SVN 的设计目标即是取代 CVS相比于CVS而言。SVN更为简单易用,且SVN有其特定平台的客户端工具。如TortoiseSVN,是为windows外壳程序集成到windows资源管理器和文件管理系统的SVN客户端,使用相当方便。详细介绍参见SVN百科名片

Clearcase--中坚级

Clearcase 是Rational公司一款重量级的软件配置管理工具。与CVS和SVN不同的是,Clearcase涵盖的范围包括版本控制、建立管理、工作空间管理和过程控制。Clearcase贯穿于整个软件生命周期,支持现有的绝大多数操作系统,但它的安装、配置、使用相对较复杂,需要进行团队培训。

对于CVS与SVN的详细比较请参照《经验总结Subversion版本控制与CVS的对比
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: