码迷,mamicode.com
首页 > 其他好文 > 详细

svn服务器搭建和使用

时间:2018-01-21 20:41:47      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:imp   update   提升   文件的   两台   mic   恢复   连接   服务   

搭建svn服务器


一、前期准备工作:

  1、准备两台服务器,我这里是192.168.4.123和192.168.4.124

  2、在两台服务器上分别安装软件: yum -y install  subversion

  3、让4.123做服务端,4.124做客户端。


二、服务器的搭建

  1、在4.123上创建数据存储路径:mkdir /var/svn

  2、svnadmin create    /var/svn/project1   //创建共享目录

   3、往共享目录里面导入一些文件(实际环境中就是源代码)

     svn import /usr/lib/systemd/system file:///var/svn/project1 -m "导入文件  

     把/usr/lib/systemd/system目录下大文件导入到/var/svn/project1

  4、如何查看project文件夹下的文件

     svn list file:///var/svn/project1         //本机查看文件

三、服务器配置

   1、cd /var/svn/project1/conf   进到配置文件的目录,分别配置三个文件

     A、    svnserve.conf

           19、anon-access = none      //匿名用户不能访问

           20、auth-access = write       //认证用户可以写

           27、password-db = passwd   //密码文件

           34、authz-db = authz              

    B、passwd   //创建用户和密码

                   [users]

                 zhangsan = 123456

                 lisi = 1234567                                              

    

   C、authz  //设置用户对目录的读取权限

               [/]     //改目录代表根目录,也就是project1目录

              zhangsan = rw

              lisi = rw

   2、启动服务:选择第一种服务

      svnserve -d -r /var/svn/project1/         //共享一个目录

      systemctl start svnserve             //所有的共享目录都发布出去

   3、客户端验证:4.124

     这里主要用于测试,首先cd /tmp目录下,下面的code就会创建在此目录下

     svn   co  --username  zhangsan  --password  123456   svn://192.168.4.123/    code

        从服务端下载文件,用户名和密码,后面是服务端地址,code是本地目录,自动创建


四、单机验证:在4.124上用lisi这个帐号来连接服务器

    1、在code目录下随便找一个文件修改,zram.service

        svn    ci    -m    "zhushi"       //会自动上传该动过的文件

             正在发送       zram.service

          传输文件数据.

          提交后的版本为 2。

   2、如果其它人修改了文件,你可以选择下面的命令来更新,以达到和服务器上一样的版本

           svn     update

     3、svn log svn://192.168.4.123  //可查看日志信息,也就是查看什么帐号在什么时间做的事

   4、在客户端新建文件或者目录需注意的地方

      vim zzzz.sh (新建文件)   svn   add  zzzz.sh(需添加到svn里面,否则无法上传到服务器)

      svn  mkdir abc(新建目录)    svn   mv   a.sh   b.sh(改名)

      svn diff zzzz.sh          //文件对比,需指定文件名

      svn  cat   svn://192.168.4.123/zzzz.sh  //在服务器上查看文件

  5、数据还原,分下面几种不同的情况

       A、本地修改,已保存,但未提交:svn revert zram.service

       B、本地修改,提交:svn merge -r4:1 zram.service    从第四个版本还原到第一个版本

       C、本地修改,并提交了多个文件,如果一个一个文件还原版本的话,效率太慢

             svn -r2 co svn://192.168.4.123/ code2    //取出版本2的所有文件,,并存放在code2目录下

 五、多人协同下如何解决版本冲突问题

    1、4.123用zhangsan登陆,4.124用lisi来登陆,导入文件到本地目录code下

    2、两人同时在操作文档时,分下面几种情况来说明

      A、修改不同文件,

               svn update     //首先在修改之前,保持版本一样

               两个人更改不同的文件后分别提交,zhangsan提交后版本为5,lisi提交后的版本为6

               再更新一次,svn update ,这样两人得到的就都是版本6

      B、修改相同文件的不同行,

              改完后上传,谁先提交没问题,后提交的提示“过期”,

             后提交的先update一下,然后再上传一下,先提交的再update  

     C、修改相同文件的相同行(冲突,人为解决)

              假如zhangsan先提交,上传成功,

               lisi提交,会报错,先更新update,会提升报错,选p推迟,线下解决

             在lisi上删除多于的版本,留下协商好的最终版本,然后上传,

               然后在zhangsan上update一下

六、备份和恢复

      1、备份

        svnadmin dump /var/svn/project1/ > /root/my.bak   

     2、还原

           首先创建新的共享目录:svnadmin create /var/svn/project2

        然后导入备份文件:svnadmin load /var/svn/project2/ < /root/my.bak






  









































svn服务器搭建和使用

标签:imp   update   提升   文件的   两台   mic   恢复   连接   服务   

原文地址:http://blog.51cto.com/453412/2063443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!