svn配置及基本使用

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=svn基本配置和使用

svn軟件下載地址
http://subversion.apache.org/packages.html
在安裝TortoiseSVN時安裝客戶端和服務端php

下以svn在windows下使用爲例,linux上相似html

一:svn使用
1.建立多個svn倉庫
svnadmin create E:/svnServer/web
svnadmin create E:/svnServer/otjava

2.啓動倉庫服務
svnserve -d(獨立端口運行) -r(倉庫地址)
svnserve -d -r E:/svnServer/web //啓動web倉庫服務
svn服務走svn協議,端口號碼是3690
E:/svnLocal/hkui>svn co svn://127.0.0.1
svn co --username 用戶名 --password 密碼 svn://127.0.0.1/weblinux

 

3.使用svn服務
在E:/svnLocal/hkui下新建 a.php
添加到svn倉庫:svn add 文件或者目錄(多個文件或目錄以空格隔開便可)
svn add E:/svnLocal/hkui/a.php
提交到遠程倉庫
svn ci 文件路徑 -m "註釋內容" (不想寫註釋內容就 -m --force-log)
svn commit E:/svnLocal/hkui/a.php -m "第一個文件"
更新
svn update --username 用戶名 --password 密碼 --force --no-auth-cache 目標目錄 (鉤子可利用此同步倉庫)web

4.開啓倉庫匿名帳號權限
在操做倉庫的conf/svnserve.conf裏配置匿名帳號的權限
anon-access = write
無需重啓服務便可
日誌:db/revprops 下
內容:db/revs 下apache

5.運行多個倉庫服務windows

把全部倉庫的上級目錄當成服務啓動起來
更換倉庫地址 刪除.svn 從新check out
centos

 

6.svn衝突
在不一樣地方修改 update下來後合併
在相同的地方修改,調整代碼,刪除衝突的其它三個文件 再提交便可緩存

7.帳號和權限
一:給具體用戶設置權限
在conf/svnserve.conf 中開啓
password-db和authz-db = authz
在passwd中添加用戶和密碼
hkui=hkui123
tom=tom123
在authz裏配置相應權限
配置完passwd後必須給相應的用戶在authz裏配置權限
給指定的倉庫帳號設置權限
倉庫有種類型設置
1.啓動運行多個倉庫服務
svnserve -d -r E:/svnServer (svnServer下有web和ot兩個倉庫)
[web:/] 表示要給多個倉庫的web倉庫配置訪問權限
[ot:/] 固然是在ot倉庫的配置文件裏配置 權限
2.運行啓動單一倉庫服務 svnserve -d -r E:/svnServer/web
[/] 表示給單一的倉庫設置訪問權限
*= 表示其它用戶沒有操做權限
r只能update rw能update和commit
好比這裏是 運行多個倉庫服務的
hkui可以讀寫,tom只能讀,其它用戶無任何權限
[web:/]
hkui=rw
tom=r
*=
二:給一個組別設置權限
再在passwd中添加
php=php123
js=js123
java=java123
在authz裏
[groups]
language=php,js,java #表示同屬一個組
[web:/]
hkui=rw
tom=r
@language=rw #表示language組的權限是rw
*=
三:開啓只操做某個目錄的權限
好比web目錄下的Video
1.管理員建立video目錄,提交到svn倉庫
2.給外部團隊設置帳號和設置工做目錄,和其分支目錄權限
passwd中
[users]
hkui=hkui123
tom=tom123
php=php123
js=js123
java=java123ide

w1=w123
w2=w223
w3=w323
authz中
[groups]
language=php,js,java
w=w1,w2,w3

[web:/]
hkui=rw
tom=r
@language=rw
*=

[web:/video]
@w=rw
*= (若是設置該項 ,只有w組的成員能操做video目錄,管理員也不能夠)
3.外部團隊創建與倉庫的聯繫 (checkout)
svn co svn://127.0.0.1/web/video (只有權限和video聯繫)
4.外部團隊 操做文件並提交到倉庫
5.管理員更新便可
四:設置開機啓動項服務
sc create svnd binPath= "D:/install/TortoiseSVN/192/bin/svnserve.exe -r E:/svnServer --service" start= auto
刪除服務
sc delete svnd
五:查看工做日誌
開啓帳號並配置權限後注意把svnserve.conf裏的
anon-access = write改成anon-access = none而不是註釋
修改完記得先清空緩存

鉤子

在windows下爲post-commit.bat

在Linux下post-commit 記得給可執行權限便可

export LANG=en_US.UTF-8
/usr/bin/svn update --username ybjmobile --password 123456  /alidata/www/mobile

svn update --username 用戶名 --password 密碼 目標目錄

------------------------------------------

在centos下查看svn服務

ps aux|grep svn

[root@localhost web]# ps aux|grep svnroot 3243 0.0 0.0 174512 1012 ? Ss 21:35 0:00 svnserve -d -r /var/www/svn_dbroot 5623 0.0 0.0 103320 864 pts/1 S+ 22:13 0:00 grep svn

相關文章
相關標籤/搜索