5.1.1 SVN是什么

5.1.1 SVN是什么

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源。

集中式管理的工作流程如图5.1所示。

图5.1 集中式工作流程

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。

下面举例说明,开始新一天的工作:

(1)从服务器下载项目组最新代码。

(2)进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。

(3)下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。