当前位置: 代码迷 >> 综合 >> 【SVN】初认识
  详细解决方案

【SVN】初认识

热度:51   发布时间:2024-01-20 17:12:48.0

一、概念

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

        用一个简单但不是分精确的比喻:SVN=版本控制+备份服务器。简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容,并且自动的赋予每次的变更一个版本号,便于版本控制。

Svn客户端

        Subversion的客户端有两类,一类是webSvn等基于web的,一种是以TortoiseSvn为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端。

Svn服务器

        Subversion支持linux和windows,更多是安装在linux下。

        Svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。

VisualSvn 、VisualSvn Server

        VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是是商业软件,收费;VisualSvn Server是基于Windows平台上的Subversion服务器,它是免费的。他具体包括了Subversion、Apache和一个相应的管理界面。所以推荐使用免费的TortoiseSvn客户端以及VS插件AnkhSvn 。

二、工作流程

        开始新一天的工作:

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

        2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码。

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

三、优缺点

        优点

                1、管理方便,逻辑明确,符合一般人思维习惯。

                2、易于管理,集中式服务器更能保证安全性。

                3、代码一致性非常高。

                4、适合开发人数不多的项目开发。

                5、大部分软件配置管理的大学教材都是使用svn和vss。

        缺点

                1、服务器压力太大,数据库容量暴增。

                2、如果不能连接到服务器上,基本上不可以工作。

                3、不适合开源开发(开发人数非常非常多)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

四、使用规范

        1.先更新,再提交;

        2.多提交;

        3.不要提交不能通过编译的代码;

        4.每次提交必须书写明晰的标注;

        5.提交时注意不要提交本地自动生成的文件;

        6.不要提交自己不明白的代码;

        7.慎用锁定功能;

        8.管理好数据库的版本;

        9.必须自己提交自己更改的内容;

        10.提交时,注意一下自己修改了什么;

        11.要时刻告诫自己,不用软件管理的源代码,等于不存在。

 

 

 

  相关解决方案