Linux SVN客戶端使用以及服務(wù)器配置教程
發(fā)布時(shí)間:2012-11-19 16:24:32 作者:佚名
我要評(píng)論

SVN是一種版本管理系統(tǒng),前身是CVS,是開(kāi)源軟件的基石。即使在溝通充分的情況下,多人維護(hù)同一份源代碼的一定也會(huì)出現(xiàn)混亂的情況,版本管理系統(tǒng)就是為了解決這些問(wèn)題
SVN是一種版本管理系統(tǒng),前身是CVS,是開(kāi)源軟件的基石。即使在溝通充分的情況下,多人維護(hù)同一份源代碼的一定也會(huì)出現(xiàn)混亂的情況,版本管理系統(tǒng)就是為了解決這些問(wèn)題。SVN中的一些概念 : a. repository(源代碼庫(kù)) 源代碼統(tǒng)一存放的地方 b. Checkout (提?。?當(dāng)你手上沒(méi)有源代碼的時(shí)候,你需要從repository checkout一份 c. Commit (提交) 當(dāng)你已經(jīng)修改了代碼,你就需要Commit到repository d. Update (更新) 當(dāng)你已經(jīng)Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會(huì)有最新的變更日常開(kāi)發(fā)過(guò)程其實(shí)就是這樣的(假設(shè)你已經(jīng)Checkout并且已經(jīng)工作了幾天):Update(獲得最新的代碼) -->作出自己的修改并調(diào)試成功 --> Commit(大家就可以看到你的修改了) 如果兩個(gè)程序員同時(shí)修改了同一個(gè)文件呢?SVN可以Merge這兩個(gè)程序員的改動(dòng),對(duì),合并,實(shí)際上SVN管理源代碼是 以行為單位的,就是說(shuō)兩個(gè)程序員只要不是修改了同一行程序,SVN都會(huì)自動(dòng)合并兩種修改。如果是同一行呢,SVN會(huì)提示文件Confict, 沖突,需要手動(dòng)確認(rèn)。 TortoiseSVN簡(jiǎn)介 TortoiseSVN 是 Subversion 版本控制系統(tǒng)的一個(gè)免費(fèi)開(kāi)源客戶端,可以超越時(shí)間的管理文件和目錄。文件保存在中央版本庫(kù),除了能記住文件和目錄的每次修改以外,版本庫(kù)非常像普通的文件 服務(wù)器。你可以將文件恢復(fù)到過(guò)去的版本,并且可以通過(guò)檢查歷史知道數(shù)據(jù)做了哪些修改,誰(shuí)做的修改。這就是為什么許多人將 Subversion 和版本控制系統(tǒng)看作一種“時(shí)間機(jī)器”。
SVN的配置
1,配置好yum,檢查subversion安裝包 [root@svn ~]# yum list |grep subversion subversion.i386 1.4.2-4.el5_3.1 base subversion-devel.i386 1.4.2-4.el5_3.1 base
subversion-javahl.i386 1.4.2-4.el5_3.1 base
subversion-perl.i386 1.4.2-4.el5_3.1 base
subversion-ruby.i386 1.4.2-4.el5_3.1 base
[root@svn ~]# yum -y install subversion 測(cè)試安裝是否成功:
svnserve --version 回車顯示版本說(shuō)明安裝成功
[root@svn ~]# netstat –nat 查看默認(rèn)TCP 3690端口是否監(jiān)聽(tīng).
2,創(chuàng)建svn版本庫(kù) [root@svn /]# mkdir -p /data/svndata [root@svn /]# svnadmin create /data/svndata/winne winne為版本庫(kù)名稱
3,svnserve配置文件概述 svnserve.conf -- svn服務(wù)配置文件,該文件版本庫(kù)目錄的conf目錄下。 passwd -- 用戶名口令文件,該文件名在文件svnserve.conf中指定,缺省為同目錄下的。 authz -- 權(quán)限配置文件,該文件名也在文件svnserve.conf中指定,缺省為同目錄下的。
conf/svnserve.conf 文件
配置項(xiàng)分為以下5項(xiàng): anon-access 控制非鑒權(quán)用戶訪問(wèn)版本庫(kù)的權(quán)限。 auth-access 控制鑒權(quán)用戶訪問(wèn)版本庫(kù)的權(quán)限。 password-db 指定用戶名口令文件名。 authz-db 指定權(quán)限配置文件名,通過(guò)該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪問(wèn)控制。 realm 指定版本庫(kù)的認(rèn)證域,即在登錄時(shí)提示的認(rèn)證域名稱。若兩個(gè)版本庫(kù)的 認(rèn)證域相同,建議使用相同的用戶名口令數(shù)據(jù)文件
注:1.4版本anon-access = read 參數(shù)的bug . anon-access = read時(shí) 客戶端Checkout(提?。┑臅r(shí)候會(huì)有Not authorized to open root of edit operation"錯(cuò)誤,改為none參數(shù)正常, conf /Passwd 文件 user1 = user1 user2 = user2
conf /authz 文件 [groups] 設(shè)置組 admin = user1 [/] 根目錄權(quán)限設(shè)置(就是“svndata”這個(gè)文件夾) user1 = rw 用戶1權(quán)限是:可讀寫 user2 = r 用戶2權(quán)限是:可讀,不可寫 @admin = rw 設(shè)置組權(quán)限 [svndata:/winne] 設(shè)置根目錄下“winne”文件夾的權(quán)限 user1 = rw user2 = r …以此類推
4,啟動(dòng)和停止SVN服務(wù) 啟動(dòng)SVN服務(wù): [root@svn ~]# svnserve -d -r /data/svndata/ -d表示后臺(tái)運(yùn)行 -r 指定根目錄是 /data/svndata/ 停止SVN服務(wù): ps -aux |grep svn kill -9 進(jìn)程殺掉
客戶端使用Windows客戶端TortoiseSVN的使用
1, TortoiseSVN 客戶端的安裝
測(cè)試選擇的是TortoiseSVN 1.6.5客戶端 付中文漢化包.
2,客戶端的文件更新至服務(wù)器(user1操作) 新建一個(gè)空目錄,右鍵Checkout (提?。?svn://192.168.103.26/winne 輸入passwd文件中的授權(quán)用戶帳號(hào)就可以了
在目錄中加入一些文件測(cè)試. 然后在空白地方右鍵點(diǎn)TortoiseSVN-> ADD 添加列表到服務(wù)器端.此時(shí)并沒(méi)有真正拷貝到服務(wù)器上,需再在Commit(提交)操作才會(huì)拷貝
在版本庫(kù)瀏覽器中就可以看到剛才提交的文件了,此時(shí)提交的版本為1.
3,客戶端在服務(wù)器上拉讀取數(shù)據(jù)(user2操作) User2 在機(jī)器上新建一個(gè)空目錄user2 , 右鍵Checkout (提取) 填入地址: svn://192.168.103.26/winne 輸出至G:\user2 確定 增加一個(gè)new.txt的文件,然后Commit (提交)之后提示權(quán)限出錯(cuò),user2沒(méi)有寫的權(quán)限,換成user1 的身份才可以提交成功.
Linux客戶端的使用 客戶端操作流程一般是: 用戶A: checkout (提取) -> add (添加新文件) -> commit (提交) 用戶B: SVN log(查看更新) -> update(更新版本) 1,SVN的安裝 yun –y install subversion 2,Linux svn的常用命令 ()內(nèi)為命令簡(jiǎn)寫. checkout (co) 提取 commit (ci) 提交 update (up) 更新 list (ls) 列表
3, checkout (co) 提取 svn服務(wù)器上的文件 (user1)操作流程 [root@TEST ~]# svn co svn://192.168.103.26/winne Authentication realm: My First Repository Password for 'root':
Authentication realm: My First Repository Username: user1 /輸入用戶名 Password for 'user1': /輸入密碼 A winne/Cosmic Ride - BeFour.lrc A winne/20070716171657126.pdf A winne/svnbook.pdf revision 1. / checkout (co) 提取成功,看到Checked out版本為1 注:可以使用帶用戶名和密碼的訪問(wèn): svn co --username user1 --password user1 svn://192.168.103.26/winne [root@TEST ~]# ll drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目錄是SVN自動(dòng)生成的 drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks [root@TEST ~]# cd winne [root@TEST winne]# ll total 2868 -rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf -rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc -rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf
4,user1修改文件并提交 [root@TEST winne]# vi testsvn.txt [root@TEST winne]# svn add testsvn.txt /將testsvn.txt添加到庫(kù)中 A testsvn.txt [root@TEST winne]# svn commit -m "test" testsvn.txt /注釋為test Adding testsvn.txt Transmitting file data . Committed revision 2. /版本更新為2了
5,user2回window客戶端更新版本 回到Windows的客戶端看日志, 版本已經(jīng)更新為2了,注釋test,客戶端update就可以更新到新的版本了.
6, Windows客戶端的版本回滾 選中菜單中的update to verisiom ,選擇版本1即可.
7,Linux版本回滾操作: [root@TEST winne]# svn up -r 1
SVN的配置
1,配置好yum,檢查subversion安裝包 [root@svn ~]# yum list |grep subversion subversion.i386 1.4.2-4.el5_3.1 base subversion-devel.i386 1.4.2-4.el5_3.1 base
subversion-javahl.i386 1.4.2-4.el5_3.1 base
subversion-perl.i386 1.4.2-4.el5_3.1 base
subversion-ruby.i386 1.4.2-4.el5_3.1 base
[root@svn ~]# yum -y install subversion 測(cè)試安裝是否成功:
svnserve --version 回車顯示版本說(shuō)明安裝成功
[root@svn ~]# netstat –nat 查看默認(rèn)TCP 3690端口是否監(jiān)聽(tīng).
2,創(chuàng)建svn版本庫(kù) [root@svn /]# mkdir -p /data/svndata [root@svn /]# svnadmin create /data/svndata/winne winne為版本庫(kù)名稱
3,svnserve配置文件概述 svnserve.conf -- svn服務(wù)配置文件,該文件版本庫(kù)目錄的conf目錄下。 passwd -- 用戶名口令文件,該文件名在文件svnserve.conf中指定,缺省為同目錄下的。 authz -- 權(quán)限配置文件,該文件名也在文件svnserve.conf中指定,缺省為同目錄下的。
conf/svnserve.conf 文件
配置項(xiàng)分為以下5項(xiàng): anon-access 控制非鑒權(quán)用戶訪問(wèn)版本庫(kù)的權(quán)限。 auth-access 控制鑒權(quán)用戶訪問(wèn)版本庫(kù)的權(quán)限。 password-db 指定用戶名口令文件名。 authz-db 指定權(quán)限配置文件名,通過(guò)該文件可以實(shí)現(xiàn)以路徑為基礎(chǔ)的訪問(wèn)控制。 realm 指定版本庫(kù)的認(rèn)證域,即在登錄時(shí)提示的認(rèn)證域名稱。若兩個(gè)版本庫(kù)的 認(rèn)證域相同,建議使用相同的用戶名口令數(shù)據(jù)文件
注:1.4版本anon-access = read 參數(shù)的bug . anon-access = read時(shí) 客戶端Checkout(提?。┑臅r(shí)候會(huì)有Not authorized to open root of edit operation"錯(cuò)誤,改為none參數(shù)正常, conf /Passwd 文件 user1 = user1 user2 = user2
conf /authz 文件 [groups] 設(shè)置組 admin = user1 [/] 根目錄權(quán)限設(shè)置(就是“svndata”這個(gè)文件夾) user1 = rw 用戶1權(quán)限是:可讀寫 user2 = r 用戶2權(quán)限是:可讀,不可寫 @admin = rw 設(shè)置組權(quán)限 [svndata:/winne] 設(shè)置根目錄下“winne”文件夾的權(quán)限 user1 = rw user2 = r …以此類推
4,啟動(dòng)和停止SVN服務(wù) 啟動(dòng)SVN服務(wù): [root@svn ~]# svnserve -d -r /data/svndata/ -d表示后臺(tái)運(yùn)行 -r 指定根目錄是 /data/svndata/ 停止SVN服務(wù): ps -aux |grep svn kill -9 進(jìn)程殺掉
客戶端使用Windows客戶端TortoiseSVN的使用
1, TortoiseSVN 客戶端的安裝
測(cè)試選擇的是TortoiseSVN 1.6.5客戶端 付中文漢化包.
2,客戶端的文件更新至服務(wù)器(user1操作) 新建一個(gè)空目錄,右鍵Checkout (提?。?svn://192.168.103.26/winne 輸入passwd文件中的授權(quán)用戶帳號(hào)就可以了
在目錄中加入一些文件測(cè)試. 然后在空白地方右鍵點(diǎn)TortoiseSVN-> ADD 添加列表到服務(wù)器端.此時(shí)并沒(méi)有真正拷貝到服務(wù)器上,需再在Commit(提交)操作才會(huì)拷貝
在版本庫(kù)瀏覽器中就可以看到剛才提交的文件了,此時(shí)提交的版本為1.
3,客戶端在服務(wù)器上拉讀取數(shù)據(jù)(user2操作) User2 在機(jī)器上新建一個(gè)空目錄user2 , 右鍵Checkout (提取) 填入地址: svn://192.168.103.26/winne 輸出至G:\user2 確定 增加一個(gè)new.txt的文件,然后Commit (提交)之后提示權(quán)限出錯(cuò),user2沒(méi)有寫的權(quán)限,換成user1 的身份才可以提交成功.
Linux客戶端的使用 客戶端操作流程一般是: 用戶A: checkout (提取) -> add (添加新文件) -> commit (提交) 用戶B: SVN log(查看更新) -> update(更新版本) 1,SVN的安裝 yun –y install subversion 2,Linux svn的常用命令 ()內(nèi)為命令簡(jiǎn)寫. checkout (co) 提取 commit (ci) 提交 update (up) 更新 list (ls) 列表
3, checkout (co) 提取 svn服務(wù)器上的文件 (user1)操作流程 [root@TEST ~]# svn co svn://192.168.103.26/winne Authentication realm: My First Repository Password for 'root':
Authentication realm: My First Repository Username: user1 /輸入用戶名 Password for 'user1': /輸入密碼 A winne/Cosmic Ride - BeFour.lrc A winne/20070716171657126.pdf A winne/svnbook.pdf revision 1. / checkout (co) 提取成功,看到Checked out版本為1 注:可以使用帶用戶名和密碼的訪問(wèn): svn co --username user1 --password user1 svn://192.168.103.26/winne [root@TEST ~]# ll drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目錄是SVN自動(dòng)生成的 drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks [root@TEST ~]# cd winne [root@TEST winne]# ll total 2868 -rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126.pdf -rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFour.lrc -rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbook.pdf
4,user1修改文件并提交 [root@TEST winne]# vi testsvn.txt [root@TEST winne]# svn add testsvn.txt /將testsvn.txt添加到庫(kù)中 A testsvn.txt [root@TEST winne]# svn commit -m "test" testsvn.txt /注釋為test Adding testsvn.txt Transmitting file data . Committed revision 2. /版本更新為2了
5,user2回window客戶端更新版本 回到Windows的客戶端看日志, 版本已經(jīng)更新為2了,注釋test,客戶端update就可以更新到新的版本了.
6, Windows客戶端的版本回滾 選中菜單中的update to verisiom ,選擇版本1即可.
7,Linux版本回滾操作: [root@TEST winne]# svn up -r 1
相關(guān)文章
- 如果你的Linux服務(wù)器被非受權(quán)用戶接觸到(如服務(wù)器放在公用機(jī)房?jī)?nèi)、公用辦公室內(nèi)),那么它的安全就會(huì)存在嚴(yán)重的隱患。 ??使用單用戶模式進(jìn)入系統(tǒng) ??Linux啟動(dòng)后出現(xiàn)boot:2009-03-10
盤點(diǎn)十大最流行的Linux服務(wù)器發(fā)行版
筆者列出了目前10個(gè)最流行的Linux服務(wù)器發(fā)行版,與大家共同了解和學(xué)習(xí)開(kāi)源技術(shù)中易用性、具備商業(yè)支持及具備數(shù)據(jù)中心的可靠性的Linux服務(wù)器系統(tǒng)平臺(tái)2013-05-04關(guān)于Linux/Unix服務(wù)器維護(hù)的詳細(xì)介紹
本篇文章小編將為大家介紹,關(guān)于Linux/Unix服務(wù)器維護(hù)的詳細(xì)介紹,需要的朋友可以過(guò)來(lái)參考一下2013-04-17遠(yuǎn)程修改Linux系統(tǒng)VPS服務(wù)器Root用戶密碼教程
當(dāng)你剛接觸Linux系統(tǒng)的VPS主機(jī)時(shí),運(yùn)營(yíng)商往往會(huì)給你一個(gè)Linux系統(tǒng)的遠(yuǎn)程登陸管理的用戶名和密碼。而這個(gè)密碼是默認(rèn)的切具有一定規(guī)律,所以是非常不安全的。這個(gè)時(shí)候我們就2012-12-13Ubuntu 用VSFTP搭建FTP服務(wù)器設(shè)置教程
本文將介紹Ubuntu 用VSFTP搭建FTP服務(wù)器,需要的朋友可以參考下2012-12-03linux系統(tǒng)下如何修改服務(wù)器名稱參考方法
linux系統(tǒng)下如何修改服務(wù)器名稱,是每個(gè)朋友所疑惑的東西,接下來(lái)將告訴你一個(gè)常用的方法,按興趣的朋友可以參考下2012-12-03在Linux服務(wù)器上做備份時(shí)需要考慮的細(xì)節(jié)
如果您進(jìn)行一般備份,以每日為基礎(chǔ)較好,您將會(huì)有助於減少檔案的損失,并且增加復(fù)原程度,接下來(lái)將介紹在Linux服務(wù)器上做備份時(shí)需要考慮的因素,需要的朋友可以參考下2012-12-03linux ftp服務(wù)器 虛擬機(jī)做服務(wù)器如何實(shí)現(xiàn)
在虛擬機(jī)下裝了fedora 10,搭建ftp服務(wù)器,vsftp是一個(gè)基于GPL發(fā)布的類unix系統(tǒng)上使用的ftp服務(wù)器軟件,它的全稱是very secure ftp,本文將詳細(xì)介紹,需要了解的朋友可以參考2012-11-27- 本文將詳細(xì)介紹linux ftp服務(wù)器架設(shè)配置,需要的朋友可以參考下2012-11-21
NFS(網(wǎng)絡(luò)文件系統(tǒng))服務(wù)器簡(jiǎn)單解析
NFS是網(wǎng)絡(luò)文件系統(tǒng)的簡(jiǎn)稱,主要用在linux與linux之間的共享,需要的朋友可以參考下2012-11-19