新聞中心
本次實(shí)踐使用的服務(wù)器 centos / 7.1 x86_64 (64bit)
svnserve, version 1.7.14

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括贛州網(wǎng)站建設(shè)、贛州網(wǎng)站制作、贛州網(wǎng)頁(yè)制作以及贛州網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,贛州網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到贛州省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
安裝svn
yum install subversion
查看版本
svnserve –version
返回結(jié)果
[root@chinamobile2016 ~]# svnserve –version
svnserve, version 1.7.14
(r1542130) compiled Nov 20 2015, 19:25:09Copyright (C) 2013 The Apache Software Foundation. This software
consists of contributions made by many people; see the NOTICE file for
more information. Subversion is open source software, see
http://subversion.apache.org/The following repository back-end (FS) modules are available:
- fs_base : Module for working with a Berkeley DB repository.
- fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
創(chuàng)建SVN版本庫(kù)
cd /storage
mkdir svn
cd svn
mkdir project
svnadmin create /storage/svn/project/
ls project/
發(fā)現(xiàn)已經(jīng)有生成的版本庫(kù)文件
配置svn信息
conf/authz
cd conf
vi authz
在[groups]下添加用戶(hù)組
admin=admin(用戶(hù)組名=用戶(hù)名)
在[repository:/baz/fuz]下添加用戶(hù)組權(quán)限
[project:/]
@admin=rw
conf/passwd
在[users]下添加
admin=test(用戶(hù)名=密碼)
conf/svnserve.conf
取消以下項(xiàng)目的注釋
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=project
修改/root/.subversion/server
取消store-plaintext-passwords=yes的注釋并修改
確認(rèn)安裝openssl與openssl-devel
yum install openssl openssl-devel
啟用,連接與關(guān)閉
啟用
svnserve -d -r /storage/svn/
在project這個(gè)repo里導(dǎo)入文件
svn import xxxx svn://xxx.xxx.xxx.xxx/project/ -m “admin”
填入root密碼
填入剛才創(chuàng)建的repo的賬戶(hù)密碼
成功
關(guān)閉
ps -aux|grep svn
kill pid
一些常用操作
注意:大部分操作需要在svn版本控制的文件夾下進(jìn)行
checkout(別名:co)命令
命令說(shuō)明:剪出版本庫(kù)中的可用的工作目錄;
使用方法:checkout URL[@REV]… [PATH];
使用實(shí)例:[root@samba /]# svn co svn://192.168.31.131/svntest/trunk
這個(gè)過(guò)程是把代碼從服務(wù)器中下載下來(lái),保持版本一致。
add命令
命令說(shuō)明:Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit.
使用方法:add PATH…;
使用實(shí)例:[root@xxx]# svn add *.Java(可以使用通配符)
這個(gè)過(guò)程是把新建的文件和文件夾添加進(jìn)版本控制,在下一次commit時(shí),會(huì)導(dǎo)入到版本庫(kù)里進(jìn)行同步。
commit(別名:ci)命令
命令說(shuō)明:將你的變更從你的SVN工作目錄提交到版本庫(kù);
使用方法:commit PATH…;
使用實(shí)例:[root@xxx]# svn ci -m “commit dir and file” test(可以使用通配符,可同時(shí)提交目錄和文件)
lock命令
命令說(shuō)明:將鎖住SVN工作目錄或者版本庫(kù)的URL,以使沒(méi)有人可以提交目錄或者文件的變更信息;
使用方法:lock TARGET…;
使用實(shí)例:[root@xxx]# svn lock -m “l(fā)ock dir and file”
Test.java(可使用通配符,比如:T*.*)
unlock命令
命令說(shuō)明:解除SVN工作目錄或者版本庫(kù)URL的鎖; 使用方法:unlock TARGET…;
使用實(shí)例:[root@xxx]# svn
unlock -m “l(fā)ock dir and file” Test.java(可使用通配符,比如:T*.*)
注:在本地加鎖或者解鎖,記得提交到服務(wù)器。
delete(別名:del, remove, rm)命令
命令說(shuō)明:從SVN版本控制中刪除文件或者目錄;
使用方法:delete PATH…;
使用實(shí)例:[root@samba test]# svn delete Test.java(可使用通配符,比如:T*.*) –刪除文件
[root@samba test]# svn delete test(可使用通配符,比如:t*) –刪除目錄
注:執(zhí)行上面的命令,只能刪除SVN版本控制下的文件,不能刪除目錄,故刪除目錄時(shí),應(yīng)該采用Linux(Unix)系統(tǒng)的rm命令,同時(shí)刪除后記得提交。
move(別名:mv, rename, ren)命令
命令說(shuō)明:移動(dòng)或者重命名SVN工作目錄或者版本庫(kù);
使用方法:move SRC… DST
使用實(shí)例:[root@samba test]# svn move Test.Java Test2.java [root@sambatest]# svn move -m “ss” svn://192.168.31.131/svntest/trunk/src/com/ant/test/Test2.java svn://192.168.31.131/svntest/trunk/src/com/ant/test/Test3.java
注:執(zhí)行上面的第一種實(shí)例命令記得提交。第二種命令是直接修改服務(wù)器的文件名,不用提交。
log命令
命令說(shuō)明:顯示版本庫(kù)文件的日志信息
使用方法:log [PATH] log URL[@REV] [PATH…]
使用實(shí)例:[root@samba test]# svn log T*(一般不要使用通配符,除非該文件目錄下只有一個(gè)文件)
[root@samba test]# svn log svn://192.168.31.131/svntest/trunk/src/com/ant/test/Test3.java
info命令
命令說(shuō)明:顯示本地或者遠(yuǎn)程服務(wù)器文件的詳細(xì)信息
使用方法:info [TARGET[@REV]…]
使用實(shí)例:[root@xxx test]# svn info Test.java(可以使用通配符)
list(別名:ls)命令:
命令說(shuō)明:顯示版本庫(kù)目錄的實(shí)體,包括目錄下的子目錄和文件。
使用方法:list [TARGET[@REV]…];
使用實(shí)例:[root@samba ant]# svn list [test] (不建議使用通配符,除非你的目錄開(kāi)頭字母是不重復(fù)的,否則分不清目錄下文件的歸屬)
help(別名:?, h)命令
命令說(shuō)明:對(duì)svn命令或者使用程序的一種描述。
使用方法:help [SUBCOMMAND…];
使用實(shí)例:[root@samba ~]# svn ci –help(不可以使用通配符)
mkdir命令:
命令說(shuō)明:在SVN版本控制下創(chuàng)建目錄。
使用方法:mkdir PATH…;mkdir URL…
使用實(shí)例:[root@xxx]# svn mkdir test3(不可以使用通配符)
[root@samba ant]# svn mkdir -m “create dir” svn://192.168.31.131/svntest/trunk/src/com/ant/test4
注:第一種方式創(chuàng)建完目錄之后,需要提交,第二種直接將目錄創(chuàng)建在版本庫(kù)的URL下,不需要提交盡。提交目錄或文件時(shí)加上 -m 參數(shù),否則會(huì)提示如下錯(cuò)誤:
status(別名:stat, st)命令
命令說(shuō)明:打印SVN工作目錄和文件狀態(tài)。
使用方法:status [PATH…];
使用實(shí)例:[root@samba ant]# svn status -v *(可以使用通配符)
注:在執(zhí)行status命令時(shí),建議強(qiáng)制加上“-v”命令參數(shù),第一列保持相同,第二列工作版本號(hào),第三列最后一次修改的修改人,第四列最后一次修改的版本號(hào)。
copy(別名:cp)命令
命令說(shuō)明:備份歷史。
使用方法:copy SRC[@REV]… DST;
使用實(shí)例:[root@samba test]# svn cp Test3.java Test4.java(不可以使用通配符)
[root@samba test]# svn cp -m “ss” Test3.java svn://192.168.31.131/svntest/trunk/src/com/ant/test2/Test4.java
注:第一種方式需要手動(dòng)提交,第二種方式可以自動(dòng)提交。
update(別名:up)命令
命令說(shuō)明:將服務(wù)器的變更引入本地項(xiàng)目。
使用方法:update [PATH…];
使用實(shí)例:[root@samba test]# svn up t*(可以使用通配符)
diff(別名:di)命令:
命令說(shuō)明:比較兩個(gè)版本的差異。
使用方法:diff [-c M | -r N[:M]] [TARGET[@REV]…];
diff [-r N[:M]] –old=OLD-TGT[@OLDREV] [–new=NEW-TGT[@NEWREV]] [PATH…]
diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]
使用實(shí)例:[root@samba test]# svn di T*(可以使用通配符) [root@samba test]# svn di -r 20:18 T*(可以使用通配符)
注:第一種情況是與本地版本比較,第二種情況是顯示指定版本的比較。
merge命令
命令說(shuō)明:將兩個(gè)指定的版本差異合并到當(dāng)前的工作目錄文件。
使用方法:merge sourceURL1[@N] sourceURL2[@M] [WCPATH]; merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH];
merge [-c M[,N…] | -r N:M …] SOURCE[@REV] [WCPATH]
使用實(shí)例:[root@samba test]# svn merge -r 20:18 Test3.java(不建議使用通配符)
注:當(dāng)兩個(gè)文件產(chǎn)生沖突的時(shí)候,需要先處理沖突,再執(zhí)行合并命令。
revert命令
命令說(shuō)明:恢復(fù)原始未改變的工作副本文件 (恢復(fù)大部份的本地修改)。
使用方法:revert PATH…
使用實(shí)例:[root@samba test]# svn revert Test3.java(不建議使用通配符) [root@samba test]# echo “dd” Test3.java(數(shù)據(jù)準(zhǔn)備)
blame(別名:praise, annotate, ann)命令
命令說(shuō)明: 輸出指定文件帶有版本號(hào)的內(nèi)容和作者在線(xiàn)信息。
使用方法:blame TARGET[@REV]…
使用實(shí)例:[root@samba test]# svn blame Test.*(可以使用通配符)
注:只能執(zhí)行文件,不能執(zhí)行目錄。
export命令:
命令說(shuō)明:采用復(fù)制的方式創(chuàng)建一個(gè)不在SVN版本控制下的樹(shù)。
使用方法:export [-r REV] URL[@PEGREV] [PATH]
export [-r REV] PATH1[@PEGREV] [PATH2]
使用實(shí)例:[root@samba ant]# svn export . test5(不可以使用通配符)
注:創(chuàng)建之后需要提交。
import命令:
命令說(shuō)明:提交一個(gè)不在版本控制下的樹(shù)或者文件到版本庫(kù)。
使用方法:import [PATH] URL
使用實(shí)例:[root@samba ant]# svn import -m “sss” svn://192.168.31.131/svntest/trunk/src/com/ant/test5(不可以使用通配符)
cat命令:
命令說(shuō)明:輸出指定文件的內(nèi)容(URLs也必須指定到文件類(lèi)型)。
使用方法:cat TARGET[@REV]…
使用實(shí)例:[root@samba ant]# svn cat svn://192.168.31.131/svntest/trunk/src/com/ant/test Test3.java(可以使用通配符)
注:必須指定到文件或者文件類(lèi)型。
changelist(別名:cl)命令:
命令說(shuō)明:帶有名稱(chēng)的文件關(guān)聯(lián)列表。
使用方法:changelist CLNAME TARGET… changelist –remove TARGET…
使用實(shí)例:[root@samba test]# svn changelist T*(可以使用通配符)
switch(別名:sw)命令:
命令說(shuō)明:帶有名稱(chēng)的文件關(guān)聯(lián)列表。
使用方法:switch URL[@PEGREV] [PATH] switch –relocate
FROM TO [PATH…]
使用實(shí)例:[root@samba trunk2]# svn switch svn://192.168.31.131/svntest/trunk/.(不建議使用通配符)
[root@samba /]# svn mkdir trunk2(目錄準(zhǔn)備)
[root@samba /]# cd trunk2(目錄準(zhǔn)備)
注:該命令的目的是做一個(gè)工作目錄的備份,類(lèi)似文件的軟連接。
分享標(biāo)題:CentOS7.1下SVN安裝與配置
文章路徑:http://m.fisionsoft.com.cn/article/dppchdc.html


咨詢(xún)
建站咨詢(xún)
