• 版本控制工具SVN学习


     

    教学视频链接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0

    版本控制工具SVN学习

    1,SVN的简介

      在实际的项目开发之中一定不可能只有一个人完成项目【微型项目除外】,一定是多人开发进行的,如果是多人开发,就一定有可能造成修改的冲突。最初的版本控制工具是CVS【Linux下发展起来后移植到Windows下】,但是后来在CVS进行项目管理的过程之中会产生大量的历史无用文件,所以现在的开发在CVS之后都开始使用SVN了,也被很多公司来使用。使用版本控制工具可以有效的针对于你的项目中的代码进行管理,以及冲突的解决。

      但是不得不说SVN也有自己的局限性的,如果在一个项目团队之中开发,在SVN里面所保存的项目代码,【只能够被本地所管理】。而且SVN使用了客户端服务器模式,也就是说如果需要使用SVN一定要搭建有服务器,而后要单独配置客户端。也就是说CVS、SVN如脱离网络,那么就无法进行版本控制,所以现在最好用的是Git【Github推荐使用的工具】。

    图1 SVN服务器与开发者的关系图

    2,搭建SVN服务器端

       如果要想搭建SVN服务器端【最好将各种杀毒软件卸载】,必须要有单独的服务器端安装软件。SVN软件安装完成,但是需要对其进行配置才可以使用。

      ①需要准备出一个工作目录,假设:【e:mysvnpro】为整个项目的工作目录;

      ②此时的【e:mysvnpro】目录只是一个单独的空目录,并不是一个svn认可的目录,所以需要初始化此工作目录,

    svnadmin create e:mysvnpro

      初始化之后会自动在此目录之中保存一些列的配置文件。

      ③修改【e:mysvnproconf】目录中的内容,所有相关配置都在此目录里面;

      svnserve.conf【服务器整体配置文件】、authz【授权、认证】、passwd【用户名与密码】、hooks-env.tmpl【钩子脚本环境配置文】

    图2 svn配置文件目录conf中内容

      I、编辑【svnserve.conf】文件:

    anon-access = read
    auth-access = write
    password-db = passwd
    authz-db = authz
    realm = My First Repository

      II、编辑【passwd】文件设置可以使用的用户信息:

    rdrc_2017202120089 = Mufasa

      III、编辑【authz】文件设置权限:

     1 [groups]
     2 # harry_and_sally = harry,sally
     3 # harry_sally_and_joe = harry,sally,&joe
     4 
     5 [/]
     6 rdrc_2017202120089=rw
     7 
     8 # [/foo/bar]
     9 # harry = rw
    10 # &joe = r
    11 rdrc_2017202120089=rw
    12 * =
    13 
    14 # [repository:/baz/fuz]
    15 # @harry_and_sally = rw
    16 * = r

      以上配置完成可以直接使用rdrc_2017202120089用户就可以进行服务器的连接控制了。

      ④启动SVN服务:

    svnserve -d -r e:mysvnpro

      启动之后命令行窗口不要关闭。???

    3,配置SVN客户端

      由于以后的大部分的项目都在Eclipse中完成,所以将直接在eclipse里面实现客户端的配置处理操作。如果要想在Eclipse里面使用客户端操作的工具,那么必须要保证有相应的插件工具完成。

      ①如果从标准的安装方式应该选择软件更新模式:

        ·【Help】→【Install New Software】→【add】加入SVN插件,但是应该中国的【墙】导致不一定可以成功

    图3 Eclipse下的插件标准安装流程

    图4 加载插件

      ②直接将插件包覆盖Eclipse插件包中的文件;

    4,项目发布与检出

       SVN服务器和客户端都已经配置完成了,那么下面就需要进行项目的发布处理。在SVN的开发之中,必须有一个项目的发布者 ,之后才有项目的开发者。

      ①要保证创建一个你需要发布的项目;

      ②在项目上选择鼠标右键,而后选择共享项目;

    图5 项目共享

      ③选择要共享的服务器类型,本次使用的是SVN【免费】;

      ④要求输入SVN路径;

        ·需要你的ip地址支持【ipconfig】:192.168.0.32

        ·SVN的连接地址变为:svn://192.168.0.32

    图6 成功初发布项目

      项目发布完成并不意味着你的代码已经提交给服务器了。

    图7 只提交自己修改的文件【注意注释】

      如果代码被正确提交则显示如下:

     

    图8 正确提交显示

      但是如果要是有其他开发者,则需要服务器端取得这个项目代码。而对于开发者而言,则需要通过SVN服务器取得项目的初期代码。打开一个新的Eclipse【工作区不同】,随后进行导入的处理操作。

      ⑤【Flie】→【Import】→【SVN】→【】

      由于是第一次连接SVN服务器(而且也是新的工作区),所以我们需要自己输入SVN的地址:svn://192.168.0.32,到此所有的开发者都可以检出SVN服务器上的项目信息。

      ⑥更新版本库;先选择【更新】→【提交】

    5,冲突解决

       既然是多人开发,那么就有可能两个人同时修改了一个文件的内容,那么此时如果都进行了提交,就有可能产生冲突。

      ①如果现在在你需要修改某些代码之前,请最好做出一个【更新】处理;

      ②如果真的多人修改了同一个文件,并且同时提交,那么一定会出现错误

        ·第二个开发者修改了代码并且提交到了服务器端;

        ·此时第一个开发者也准备提交代码,那么一定会有冲突产生,并且会在代码中标记冲突产生位置。

        ·那么应该由最后一个开发者手工修改冲突文件;但是修改完成之后你还是无法提交,因为需要做一个【解决冲突】的标记-【标记为解决】

    6,总结

      这些工具就是一个配置的问题,而且你还必须会配置,工作之中都用这样的管理软件。但是Git更加好用!!!

  • 相关阅读:
    Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
    C# AD(Active Directory)域信息同步,组织单位、用户等信息查询
    Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件
    体验vs11 Beta
    jQuery Gallery Plugin在Asp.Net中使用
    第一个Python程序——博客自动访问脚本
    网盘:不仅仅是存储
    TCP/UDP端口列表
    Linux的时间 HZ,Tick,Jiffies
    Intel Data Plane Development Kit(DPDK) 1.2.3特性介绍
  • 原文地址:https://www.cnblogs.com/Mufasa/p/11201469.html
Copyright © 2020-2023  润新知