1. 程式人生 > >svn服務器搭建和使用

svn服務器搭建和使用

round 測試 其它 ria tmp目錄 共享 ans 目錄 客戶

搭建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服務器搭建和使用