SVN

来源:互联网 发布:华美卷皮最新源码 编辑:程序博客网 时间:2024/06/05 07:23

介绍SVN之前先介绍一下SCM吧

     一、what?

     SCM的全称是Software Configuration Management,即软件配置管理,是一个用来记录并控制软件产品数据的管理工具。

     二、Why?

     简单一句话:如果没有SCM,工作成果无法回溯。

     具体使用理由:

     ※及时了解团队中其他成员进度。

     ※ 轻松比较不同版本间的细微差别。

     ※ 记录每个文件成长的每步细节,利于成果的复用。

     ※ 资料共享,避免以往靠邮件发送文件造成的版本混乱。

     ※ 无需专人维护所有文件的最新版本。

     ※ 可协同工作,提高团队工作效率。


     三、 SCM的核心功能是版本控制,常见的版本控制管理工具有vss、CVS、SVN等等,SVN就是本次要介绍的内容了。

    (一)、什么是SVN?

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

    (二)、 SVN的基本概念:

     1、 配置库(Repository):这是SVN的核心,用于存储所有的数据,配置库按照文件树形式存储数据,包括文件和目录,任意数量的客户端可以连接到配置库,读写这些文件。通过写数据,别人可以看到这些信息,通过读数据,可以看到别人的修改。最特别的是SVN会记录配置库中的每一次更改,不仅针对文件也包括目录本身,包括增加、删除、重新组织文件和目录。

    下面用一张图来表示配置库与客户端之间:


        2、工作副本(WorkSpace):与位于中央配置库相对应的是每个人的工作空间,它是每个程序员工作的地方,程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等操作,并把新版本的代码从这里提交回配置库中。



   (三)SVN的工作模式:

    1、复制-修改-合并方案(默认):

    此模式每个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地放射。用户并行工作,修改各自的工作副本,最终各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误

    2、锁定-修改-解决方案

    此模式在一个时间段里配置库的一个文件只允许被一个人修改,此模式不适合软件开发这种工作

   (四)、SVN使用基本流程:


   (五)、SVN与CVS的区别:

    ※ 两者完成的功能差不多,但SVN比CVS先进

         SVN可以完成整个项目的版本,CVS做不到

    ※ SVN你的文件删了过后提交的过程当中可以给你加上去, CVS做不到

    ※ SVN的一次提交过程是原子性的提交,CVS提交的过程中如果断电了那版本就混乱了

    (六)、安装:

     搭建SVN版本控制系统,主要使用工具:

     1、客户端:TortoiseSVN(小乌龟)

     2、服务端:VisualSVN Server

     刚开始我不太敢装,害怕我装错了卸载的时候卸不干净,查了一些SVN的资料,还是不太敢,后来就请教了一下同学和师傅,师傅给我吃了颗定心丸说很好卸载的,而且合作的时候要用,然后我就说那我就装着先随便玩玩。和即将合作的小伙伴确定安装哪个后就放心大胆的根据视频和网上的资料安装了。嘿嘿,很顺利。

     最后建议大家学习SVN的时候一定要装上操作一下,可以根据视频操作,再分享一个链接:

     http://blog.csdn.NET/xy18930914/article/details/50372545

原创粉丝点击