A. MAC環境下如何搭建SVN伺服器
在Windows環境中,我們一般使用TortoiseSVN來搭建svn環境。在Mac環境下,由於Mac自帶了svn的伺服器端和客戶端功能,所以我們可以在不裝任何第三方軟體的前提下使用svn功能,不過還需做一下簡單的配置。
我們首先來看下,如何在Mac環境下搭建svn伺服器端環境。
回到頂部
一、創建代碼倉庫,用來存儲客戶端所上傳的代碼
我先在/User/apple目錄下新建一個svn目錄,以後可以在svn目錄下創建多個倉庫目錄
打開終端,創建一個mycode倉庫,輸入指令:svnadmin create /Users/apple/svn/mycode
指令執行成功後,會發現硬碟上多了個/Users/apple/svn/mycode目錄,目錄結構如下:
回到頂部
二、配置svn的用戶許可權
主要是修改/svn/mycode/conf目錄下的三個文件
1.打開svnserve.conf,將下列配置項前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
復制代碼
anon-access = read代表匿名訪問的時候是只讀的,若改為anon-access = none代表禁止匿名訪問,需要帳號密碼才能訪問
[users]
mj=123
jj=456
復制代碼
帳號是mj,密碼是123
我們可以將在passwd里添加的用戶分配到不同的用戶組里,以後的話,就可以對不同用戶組設置不同的許可權,沒有必要對每個用戶進行單獨設置許可權。
在[groups]下面添加組名和用戶名,多個用戶之間用逗號(,)隔開
<font color="rgb(0, 0, 0)"><font style="background-color:rgb(254, 254, 242)"><font face="verdana, Arial, Helvetica, sans-serif">[groups]
topgroup=mj,jj</font></font></font>
復制代碼
[/]
@topgroup=rw
復制代碼
[/]
mj=rw
復制代碼
回到頂部
svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=mj --password=123 -m "初始化導入"
復制代碼
Sending weibo/weibo/main.m
Transmitting file data .
Committed revision 2.
復制代碼
B. CentOS瀹夎匱ortoiseSVN 瀹㈡埛絝
涓銆丆entOS瀹夎匱ortoiseSVN
澶嶅埗浠g爜
浠g爜濡備笅:
yum install -y subversion
浜屻丼VN瀹㈡埛絝鍛戒護
1銆佹煡鐪嬪府鍔 鍛戒護錛歴vn help
鍚鍔ㄦ湇鍔
浣跨敤鍛戒護svnserve鍚鍔ㄦ湇鍔
澶嶅埗浠g爜
浠g爜濡備笅:
svnserve -d -r /srv/svn/repos
涔熷彲浠ュ姞絝鍙e彿
澶嶅埗浠g爜
浠g爜濡備笅:
svnserve -d 鈥搇isten-port 9999 -r /srv/svn/repos
娉ㄦ剰錛氬悗闈㈢殑璺寰勫繀欏繪槸涓涓猻vnadmin鍒涘緩鐨勪粨搴撹礬寰勶紝鍚﹀垯浼氭姤閿欙細Not a repository
2銆佸悓姝(checkout)鏈嶅姟鍣ㄦ暟鎹鍒版湰鍦 鍛戒護錛歴vn checkout [directory] svn co [directory]
eg:
澶嶅埗浠g爜
浠g爜濡備笅:
#cd /www/website/pp#svn co svn://svn_site_url ./
3銆佹彁浜(commit)鏈鍦版枃妗e埌鏈嶅姟鍣 鍛戒護錛歴vn commit -m 鈥溾 [directory|file] svn ci -m 鈥溾 [directory|file]
4銆佹洿鏂(update)鏈嶅姟鍣ㄦ暟鎹鍒版湰鍦 鍛戒護錛歴vn update [directory|file] svn up [directory|file]
5銆佹煡鐪嬫棩蹇 鍛戒護錛歴vn log [directory|file]
6銆佸炲姞(add)鏈鍦版暟鎹鍒版湇鍔″櫒
鍛戒護錛歴vn add
7銆侀」鐩瀵煎嚭 export
鍛戒護錛
澶嶅埗浠g爜
浠g爜濡備笅:
svn export 鈥揻orce svn_project_dir target_dir
鍙﹂檮涓婇儴鍒嗗父鐢ㄥ懡浠
1銆佸皢鏂囦歡checkout鍒版湰鍦扮洰褰
svn checkout path錛坧ath鏄鏈嶅姟鍣ㄤ笂鐨勭洰褰曪級
渚嬪傦細svn checkout svn://192.168.1.1/pro/domain
綆鍐欙細svn co
2銆佸線鐗堟湰搴撲腑娣誨姞鏂扮殑鏂囦歡
svn add file
渚嬪傦細svn add test.php(娣誨姞test.php)
svn add *.php(娣誨姞褰撳墠鐩褰曚笅鎵鏈夌殑php鏂囦歡)
3銆佸皢鏀瑰姩鐨勬枃浠舵彁浜ゅ埌鐗堟湰搴
svn commit -m 鈥淟ogMessage鈥 [-N] [--no-unlock] PATH(濡傛灉閫夋嫨浜嗕繚鎸侀攣錛屽氨浣跨敤鈥搉o-unlock寮鍏)
渚嬪傦細svn commit -m 鈥渁dd test file for my test鈥 test.php
綆鍐欙細svn ci
4銆佸姞閿/瑙i攣
svn lock -m 鈥淟ockMessage鈥 [--force] PATH
渚嬪傦細svn lock -m 鈥渓ock test file鈥 test.php
svn unlock PATH www.
5銆佹洿鏂板埌鏌愪釜鐗堟湰
svn update -r m path
渚嬪傦細
svn update濡傛灉鍚庨潰娌℃湁鐩褰曪紝榛樿ゅ皢褰撳墠鐩褰曚互鍙婂瓙鐩褰曚笅鐨勬墍鏈夋枃浠墮兘鏇存柊鍒版渶鏂扮増鏈銆
svn update -r 200 test.php(灝嗙増鏈搴撲腑鐨勬枃浠秚est.php榪樺師鍒扮増鏈200)
svn update test.php(鏇存柊錛屼簬鐗堟湰搴撳悓姝ャ傚傛灉鍦ㄦ彁浜ょ殑鏃跺欐彁紺鴻繃鏈熺殑璇濓紝鏄鍥犱負鍐茬獊錛岄渶瑕佸厛update錛屼慨鏀規枃浠訛紝鐒跺悗娓呴櫎svn resolved錛屾渶鍚庡啀鎻愪氦commit)
綆鍐欙細svn up
6銆佹煡鐪嬫枃浠舵垨鑰呯洰褰曠姸鎬
1錛塻vn status path錛堢洰褰曚笅鐨勬枃浠跺拰瀛愮洰褰曠殑鐘舵侊紝姝e父鐘舵佷笉鏄劇ず錛
銆?錛氫笉鍦╯vn鐨勬帶鍒朵腑錛汳錛氬唴瀹硅淇鏀癸紱C錛氬彂鐢熷啿紿侊紱A錛氶勫畾鍔犲叆鍒扮増鏈搴擄紱K錛氳閿佸畾銆
2錛塻vn status -v path(鏄劇ず鏂囦歡鍜屽瓙鐩褰曠姸鎬)
絎涓鍒椾繚鎸佺浉鍚岋紝絎浜屽垪鏄劇ず宸ヤ綔鐗堟湰鍙鳳紝絎涓夊拰絎鍥涘垪鏄劇ず鏈鍚庝竴嬈′慨鏀圭殑鐗堟湰鍙峰拰淇鏀逛漢銆
娉錛歴vn status銆乻vn diff鍜 svn revert榪欎笁鏉″懡浠ゅ湪娌℃湁緗戠粶鐨勬儏鍐典笅涔熷彲浠ユ墽琛岀殑錛屽師鍥犳槸svn鍦ㄦ湰鍦扮殑.svn涓淇濈暀浜嗘湰鍦扮増鏈鐨勫師濮嬫嫹璐濄
綆鍐欙細svn st
7銆佸垹闄ゆ枃浠
svn delete path -m 鈥渄elete test fle鈥
渚嬪傦細svn delete svn://192.168.1.1/pro/domain/test.php -m 鈥渄elete test file鈥
鎴栬呯洿鎺svn delete test.php 鐒跺悗鍐峴vn ci -m 鈥榙elete test file鈥橈紝鎺ㄨ崘浣跨敤榪欑
綆鍐欙細svn (del, remove, rm)
8銆佹煡鐪嬫棩蹇
svn log path
渚嬪傦細svn log test.php 鏄劇ず榪欎釜鏂囦歡鐨勬墍鏈変慨鏀硅板綍錛屽強鍏剁増鏈鍙風殑鍙樺寲
9銆佹煡鐪嬫枃浠惰︾粏淇℃伅
svn info path
渚嬪傦細svn info test.php
10銆佹瘮杈冨樊寮
svn diff path(灝嗕慨鏀圭殑鏂囦歡涓庡熀紜鐗堟湰姣旇緝)
渚嬪傦細svn diff test.php
svn diff -r m:n path(瀵圭増鏈琺鍜岀増鏈琻姣旇緝宸寮)
渚嬪傦細svn diff -r 200:201 test.php
綆鍐欙細svn di www.
11銆佸皢涓や釜鐗堟湰涔嬮棿鐨勫樊寮傚悎騫跺埌褰撳墠鏂囦歡
svn merge -r m:n path
渚嬪傦細svn merge -r 200:205 test.php錛堝皢鐗堟湰200涓205涔嬮棿鐨勫樊寮傚悎騫跺埌褰撳墠鏂囦歡錛屼絾鏄涓鑸閮戒細浜х敓鍐茬獊錛岄渶瑕佸勭悊涓涓嬶級
12銆丼VN 甯鍔
svn help
svn help ci
C. 如何在伺服器liunx上搭建svn伺服器
body{ line-height:200%; } linux下svn伺服器搭建視頻教程 背景:隨著軟體工程化的不斷深入,項目版本管理是每個軟體開發團隊都必須面對的問題。如果沒有好的版本控製版本管理,大項目可能無法順利進行。對於需要許多給予互聯網的開源項目,版本控制和版本管理則更為重要。即使是對於一個人開發,版本管理工作也很有益處,它能讓你的工作條理清晰,避免許多重復工作。 今天小編為大家介紹svn伺服器搭建視頻教程。 1,首先安裝好LINUX系統,然後YUM安裝: #yum -y install svnversion 2,安全完成之後我們來配置: 創建版本庫目錄: #mkdir -p /banbenku/svn/ 3,然後啟用: #svnserve -d -r /banbenku/svn 然後查看是否啟動了! ps -efgrep svn; [root@207 conf]# lsof -i:3690 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN) 4,然後我們來新建版本: mkdir -p /banbenku/svn/zhoujie/ cd /banbenku/svn/zhoujie/conf 在這里有三個文件:authz passwd svnserve.conf svnserve.conf是主要配置文件; vi svnserve.conf 修改如下: anon-access = read auth-access = write password-db = /banbenku/svn/zhoujie/conf/passwd authz-db = /banbenku/svn/zhoujie/conf/authzwq! 保存退出: 然後修改passwd: 建立用戶名與密碼內容如下: zhoujie = 123456 wq 保有存退出: 然後修改:authz: 內容如下: [groups] admin = zhoujie [zhoujie:/] @admin =rw wq 保存退出! 這樣我們便配置好了;要使用啟生效,重啟SVN: ps -efgrep svn kill -9 PID svnserve -d -r /banbenku/svn 然後再檢測: [root@207 conf]# lsof -i:3690 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME svnserve 8454 root 3u IPv4 1346200 0t0 TCP *:svn (LISTEN) 如果如上所示,那便沒有問題了; linux下svn伺服器搭建視頻教程
D. linux鎼寤簊vn鏈嶅姟鍣╨inux鎼寤簊vn
濡備綍鍦↙inux鍜寃indows涓婅繀閫熷緩絝媠vn+ssh錛
1錛氶噰鐢⊿amba鏈嶅姟鍣錛屽湪Linux涓嬭劇珛涓猄amba鏈嶅姟鍣錛岃繖鏍穡indows灝卞彲浠ヨ塊棶Linux涓婄殑Samba鏈嶅姟鐩褰曚簡錛2錛歏mware鎻愪緵浜嗕竴涓猻harefolder鐨勫姛鑳斤紝鍙浠ュ湪Windows涓婅劇疆涓涓鍏變韓鐩褰曪紝鍦╒mware閲岄潰鍙浠ュ幓/mnt/hgfs閲岄潰鎵懼埌鍏變韓鐨勭洰褰曘
SVN鍛戒護琛屾庝箞鐢錛
浣犲湪鍛戒護琛屽彧杈撳叆浜唖vn鐨勫湴鍧錛岃繖鏍鋒槸榪炴帴涓嶄笂鐨勩
浣犻渶瑕佷竴涓鏀鎸乻vn鐨勮蔣浠訛紝姣斿俥clipse銆
鍦ㄥ懡浠よ岀殑璇濓紝鐢ㄤ笅闈㈢殑鍛戒護錛屽墠鎻愭槸浣犲畨瑁呬簡svn鍛戒護銆
鐪嬬湅榪欎釜鍚
SVN浣跨敤鎸囧紩錛堟湰鍦版湇鍔″櫒涓篖inux錛-鑵捐寮鏀懼鉤鍙
linux閰嶇疆宸叉湁鐨勬枃浠跺す涓簊vn鐨勬寚瀹氱洰褰曪紵
瑕佸疄鐜拌繖涓鎯蟲硶錛屽叧閿鍘熺悊灝辨槸鎶奷efault榪欎釜鏂囦歡澶瑰彉鎴愬湪svn鎺у埗涔嬩笅鐨勪竴涓宸ヤ綔鍓鏈錛岀劧鍚庨氳繃post-commit閽╁瓙鍘昏嚜鍔ㄦ洿鏂拌繖涓宸ヤ綔鍓鏈銆傚嚑涓鍏抽敭鎿嶄綔錛
1銆侀渶瑕佸湪鏈嶅姟鍣ㄤ笂瀹夎卻vn鏈嶅姟鍣ㄧ錛屽惎鍔╯vn鏈嶅姟錛屽苟鍒涘緩涓涓猻vn搴擄紱
2銆佸皢褰撳墠鐨刣efault鏂囦歡澶瑰彉鎴愭柊寤虹殑svn搴撶殑宸ヤ綔鍓鏈錛堝㈡埛絝瀛樻斁鏁版嵁鐨勬枃浠跺す錛夛紝鍏蜂綋鎿嶄綔錛氬皢褰撳墠default鏂囦歡澶逛笅鐨勫唴瀹筰mport鍒版柊寤虹殑svn搴撲腑錛岀劧鍚庡啀娓呯┖default錛岀劧鍚庡啀灝唖vn搴撲腑鐨勫唴瀹筩heckout鍒癲efault錛
3銆佷嬌鐢╯vn鐨刾ost-commit閽╁瓙錛堣繖涓閽╁瓙鏄鍦ㄦ瘡嬈℃垚鍔焎ommit鍚庤玈VN鏈嶅姟鍣ㄨ嚜鍔ㄨ皟鐢ㄧ殑錛夛紝緙栬緫榪欎釜閽╁瓙錛屽唴瀹瑰氨鏄痵vnupdate鏂囦歡澶筪efault錛岃繖鏍鋒瘡嬈commit鎴愬姛鍚庡氨浼氳嚜鍔ㄦ洿鏂癲efault鏂囦歡澶癸紱
4銆佸湪浣犺嚜宸辯殑鐢佃剳涓奵heckout閭d釜svn搴擄紝鐒跺悗浣犲氨鍙浠ヤ粠鏈鍦癱ommit錛岀劧鍚庢湇鍔″櫒絝灝辮嚜鍔ㄦ洿鏂癲efault鏂囦歡澶逛簡銆
E. 濡備綍鍦╳indows涓婂畨瑁呴儴緗茶劇疆SVN鏈嶅姟鍣
宸ュ叿/鍘熸枡
VisualSVN Server錛孴ortoiseSVN
1銆侀栧厛鐧懼害鎼滅儲涓嬭澆杞浠躲
VisualSVN Server錛孴ortoiseSVN
F. linux涓嬩嬌鐢╯vn錛屾庢牱鐢╰ortoiseSVN閾炬帴鏈嶅姟鍣
鍚鍔╯vn
寤虹珛鍚鍔╯vn鐨勭敤鎴:
useradd svnroot
passwd svnroot
鏍規嵁鎻愮ず涓虹敤鎴穝vnroot璁劇疆瀵嗙爜
鍏佽哥敤鎴穝vn璁塊棶鐗堟湰搴:
chown 鈥揜 svnroot:daemon /home/svnroot/repository
鍚鍔╯vn錛
su -c "svnserve -d --listen-port 9999 -r /opt/svndata" svnroot
鍚鍔ㄥ悗媯鏌ワ細
[root@localhost svntest]# ps -ef |grep svnserve
svnroot 7299 1 0 14:24 ? 00:00:00 svnserve -d --listen-port 9999 -r /var/www/svn
root 7335 7181 0 14:29 pts/1 00:00:00 grep svnserve
[root@localhost svntest]#
杞杞斤紝浠呬緵鍙傝冦