SVN软件开发版本管理

SVN(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
集中式版本管理系统  
SVN是一种集中式文件版本管理系统。   
        集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。
下面举例说明:   
开始新一天的工作:   
1:从服务器下载项目组最新代码。   
2:进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了那些代码,就需要这样做了)。  
3:下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。   
这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。   
缺点:
1、服务器压力太大,数据库容量暴增。   
2、如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等
3、不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。  
优点
1、管理方便,逻辑明确,符合一般人思维习惯。   
2、易于管理,集中式服务器更能保证安全性。   
3、代码一致性非常高。   
4、适合开发人数不多的项目开发。   
5、大部分软件配置管理的大学教材都是使用svn和vss。
你要安装个svn就可以下载下来了。
比如在Eclipse里面安装svn插件后,你只要输入http://svn.apache.org/repos/asf/hadoop/就可以下载下来了。

你可能感兴趣的:(SVN软件开发版本管理)