
SVN搭建
自從進(jìn)入編程的大門(mén),svn就一直陪伴在我左右,每次提交,每次更新,每次清理,你總是義無(wú)反顧,有時(shí)也會(huì)鬧點(diǎn)小情緒,提交失敗,好吧,步入正題!
即使使用了svn很多次,如果自己不親自部署一下,永遠(yuǎn)不知道他的工作原理,和他的神奇,雖然,現(xiàn)在用git的人要多于svn了,但是,git目前我還是征服不了他,先搞清svn在說(shuō)吧!
svn的安裝,應(yīng)該不是難事,yum即可,這里略過(guò),注意介紹,svn創(chuàng)建版本庫(kù),鉤子的使用!
1、安裝svn服務(wù)
|
1 |
# yuminstall subversion |
2、新建一個(gè)目錄用于存儲(chǔ)SVN所有文件
|
1 |
# mkdir /home/svn |
3、在上面創(chuàng)建的文件夾中為項(xiàng)目 xcf,創(chuàng)建一個(gè)版本倉(cāng)庫(kù)
|
1 |
# svnadmin create /home/svn/xcf |
執(zhí)行完這一步,/home/svn中將存在xcf文件夾,這個(gè)項(xiàng)目的配置都在 /home/svn/xcf/conf 中
4、為項(xiàng)目配置權(quán)限
(1)svnserve.conf 是主配置文件
|
1 2 3 4 5 |
# vi/home/svn/xcf/conf/svnserve.conf anon-access=none #匿名可讀 auth-access=write #驗(yàn)證用戶(hù)可讀寫(xiě) password-db=passwd #指向驗(yàn)證用戶(hù)名密碼的數(shù)據(jù)文件 passwd ,請(qǐng)看下文配置 auth-db=authz #指向驗(yàn)證用戶(hù)的權(quán)限配置文件 authz ,請(qǐng)看下文配置 |
注意:每一行前方不能有空格,否則會(huì)出現(xiàn) Option expected錯(cuò)誤!
(2)passwd用戶(hù)名密碼配置文件
|
1 2 3 |
# vi/home/svn/xcf/conf/passwd [users] manager1=123456 #每一行都要是“用戶(hù)名=密碼”的格式 houpeng = 123456 |
(3)authz用戶(hù)權(quán)限配置文件 ,這里只添加【/】即可
|
1 2 3 4 5 6 7 8 9 10 |
# vi/home/svn/xcf/conf/authz [groups] managers=manager1,manager2 #定義群組 managers包含manager1和manager2兩個(gè)用戶(hù) group = houpeng,xcf #如果用組的話(huà) [xcf:/] @group = rw houpeng = rw @managers=rw #定義群組 managers 有讀寫(xiě)權(quán)限 manager3=r #定義 manager3 有讀權(quán)限 *= #以上沒(méi)有定義的用戶(hù)都沒(méi)有任何權(quán)限 |
5、啟動(dòng)服務(wù)器
|
1 |
#svnserve -d -r /home/svn |
開(kāi)啟多個(gè)版本庫(kù)的時(shí)候要啟動(dòng)不同的端口 svnserve -d --listen-port 3688 -r /static/
-------------------------------------這是漂亮的分割線(xiàn)----------------------------------------
到這里svn版本庫(kù)算是建好了,下面介紹,導(dǎo)入好檢出
將文件導(dǎo)入版本庫(kù):
終端輸入:svn import [源路徑] [目標(biāo)版本庫(kù)路徑] -m [日志信息]
源路徑可以是相對(duì)路徑,導(dǎo)入時(shí)會(huì)遞歸導(dǎo)入源路徑下的所有文件和文件夾,目標(biāo)版本庫(kù)路徑需要絕對(duì)目錄(反正我試驗(yàn)是這樣的),例如版本庫(kù)的目錄 是:home/user/svn/xcf/。則應(yīng)該這樣寫(xiě):file:///home/user/svn/xcf/
例如我把/home/wwwroot/xcf/index.html,作為網(wǎng)站的根目錄,將當(dāng)前目錄導(dǎo)入版本庫(kù)xcf:
|
1 |
svn import . file:///home/svn/xcf -m "導(dǎo)入文件" |
從版本庫(kù)導(dǎo)出:
導(dǎo)入后原文件并未被納入版本管理,若想獲得受版本控制的文件,就需要從版本庫(kù)導(dǎo)出
終端輸入:svn co [版本庫(kù)路徑] [導(dǎo)出目標(biāo)路徑]
例如將xcf庫(kù)中的文件導(dǎo)出到當(dāng)前目錄/home/wwwroot/xcf中:
|
1 |
svn co file:///home/svn/xcf . |
--------------------------------------這是漂亮的分割線(xiàn)----------------------------------
下面介紹鉤子的使用,鉤子可以讓客戶(hù)端提交的代碼,直接放到根目錄下,不用每次將文件手動(dòng)納入版本庫(kù)
1、設(shè)置鉤子,在/home/svn/xcf/hooks/目錄下面,新建一個(gè)鉤子文件為post-commit,并修改文件的權(quán)限#chmod 755 post-commit
|
1 2 |
vi post-commit chmod 755 -R post-commit |
2、編輯post-commit,把以下代碼寫(xiě)入export.UTF-8
|
1 2 3 |
#!/bin/sh export LANG=zh_CN.UTF-8 /usr/bin/svn update --username userxcf --password 123456 /home/wwwroot/xcf |
3.對(duì)于trunk、branches、tags這三個(gè)文件的使用,可以在客戶(hù)端checkout代碼后,新建這三個(gè)目錄后提交即可!
注意:checkout路徑的介紹
|
1 |
svn://123.43.124.241/home/svn/xcf //ip后面要跟svn版本庫(kù)的目錄 |
大功告成,可以使用了!
北京星誠(chéng)視野網(wǎng)絡(luò)科技有限公司 © 2008-2022 京ICP備09003513-1號(hào) 技術(shù)支持:北京網(wǎng)站建設(shè)公司 北京APP開(kāi)發(fā)