svn服務器搭建和使用

搭建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






  









































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章