版本控制软件SVN学习笔记

版本控制软件SVN

  • svn是版本控制软件(CMS)

SVN简介

  • 在实际的项目开发中,一定不可能只有一个人完成项目开发,既然不是一个人完成项目开发,就可能造成项目代码修改的冲突。最初的版本控制工具CVS。这些工具都是在linux下发展起来的。但是慢慢的发现在CVS管理的过程中会产生大量的历史无用文件,所以现在开发在CVS之后都开始使用SVN了。使用版本控制工具可以有效的针对项目中的代码进行管理,以及冲突的解决
  • 但是不得不说,SVN是有自己的局限性的,在一个项目团队之中开发,在SVN里面所保存的项目代码,只能被本地所管理。而且SVN使用了客户端服务器模式,也就是说如果需要使用SVN需要搭建服务器,然后单独配置客户端。
  • 也就是说CVS、SVN脱离了网络就无法进行版本控制。现在最好用的是GIT

搭建SVN服务器端

  • 如果想搭建SVN服务器端,必须要有单独服务器端的安装软件。如果要安装,在windows只需要直接点开安装即可。

  • 此时SVN服务器软件已经安装完成,但是还需要对其进行配置才可以使用。

    1. 现在需要准备一个工作目录。例如:

      e:mkdir mysvnpro

    2. 此时E:\mysvnpro只是一个单独的空目录并不是svn认可的目录,所以需要初始化此目录。

      svnadmin create e:\mysvnpro

      初始化完成之后,会自动再次目录中生成一些配置文件。

    3. 修改“e:\mysvnpro\conf”目录中的内容,所有相关配置都在此目录里面。

      • 再此目录中一共有三个文件:svnserve.conf(服务器整体配置文件)、authz(授权、认证)、passwd(用户名密码)。

      • 编辑“svnserve.conf”文件

        ### 多重注解是真正的注解
        # 单个的注解是可选的注解,将可选的注解取消
        anon-access = read
        auth-access = write
        passwd-db = passwd
        authz-db = authz
        # realm = My First Respository(可取消可不取消)
        
      • 编辑“passwd”文件设置我们可以使用的用户信息。

        ### 添加用户信息,设置用户kid,密码设置为hello
        kid = hello
        
      • 编辑“authz”文件设置权限。

        [groups]
        # harry_and_sally = harry,sally
        
        ### 新增代码,为用户kid设置读写权限
        [/]
        kid = rw
        
        # [/foo/bar]
        # harry = rw
        # *=
        ### 新增代码
        kid = rw
        * =
        
        #[repository:/baz/fuz]
        #@harry_and_sally = rw
        ### 取消下一行的注解
        * = r
        
    4. 启动svn服务:svnserve -d -r e:\mysvnpro,启动之后不要关闭命令行窗口。

配置SVN客户端

  • 在Eclipse中实现客户端的配置处理操作。要想在Eclipse中实现版本控制工具,就必须有相应的插件(site)帮助完成。

    • 从标准的安装方式,应该选择软件更新模式。

      • 【Help】→ 【Install New Software】
        在这里插入图片描述

      • 选择【Add】点击【Archive…】找到本地"svn的客户端包",Name任意起。点击【Add】

        在这里插入图片描述

      • 一直往下,直到完成,重启eclipse。

      • 如果此时在Eclipse的Import中可以找到SVN就表示配置成功。

    • 如果此方法失败,可以将site压缩包下的内容直接全部复制到eclipse的安装目录下。如果两个方法都失败,自求多福吧。

发布者:项目发布和开发者:项目检出

  • SVN服务器和客户端都配置完成,下面就需要进行项目的发布处理,在SVN项目中的必须有一个项目发布者,有了项目的发布者之后才存在有项目的开发者。
    • 要保证创建一个你需要发布的项目
    • 在项目中选择鼠标右键,选择【Team】→【Share Project】,随后选择共享的服务器类型SVN。
    • 要求数据SVN服务器的路径:
      • 需要服务器ip地址支持(ipconfig)
      • svn的连接地址:svn://服务区ip地址
      • 一直往下操作,随后输入SVN的用户名密码。
      • 项目发布完成,并不意味代码已经提交给服务器了,此时代码提示黑底白星样式。所以还需要提交。
      • 右键所要提交的代码,选择【Team】→【submit】,提交完成之后,提示符号变为黄色的存储样式。
  • 如果要是有其他开发者,则需要通过服务器端取得这个项目代码。
    • 打开一个新的Eclipse的工作区。
    • 选择【File】→【Import】→【SVN】
    • 输入SVN的连接地址:svn://服务区ip地址
    • 往下操作,知道完成。
    • 开发者如果要修改代码,应该先“更新”代码,在“提交”代码。

冲突解决

  • 既然是多人开发,那么就有可能两个人修改了一个文件,如果都提交,就会产生冲突。

    1. 如果在修改某些代码之前,最好做一次更新处理。

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

      • 如果第二个开发者,更新内容,并提交。

      • 第一个开发者,执行更新,那么一定会有冲突产生,并且标记冲突位置。

      • 此时需要最后一个开发者手动修改冲突文件,但是修改完成之后还是文件,此时需要做一个“冲突解决”的标记(右键点击文件 —> Team —> 标记为解决)。

  • 总结:这些工具就是一个配置问题,而且必须会配置。

猜你喜欢

转载自blog.csdn.net/qq_37040886/article/details/101268594