天天看點

svn版本控制實戰

安裝、配置環境變量:略

配置伺服器版本庫

svnadmin create D:\Subversion\DevRepository\OnlineStudy

添加服務

sc create MySVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:\Subversion\DevRepository" start= auto depend= Tcpip

啟動服務

net start MySVNService(最好使用此指令) 或者 sc start MySVNService 

SC指令似乎是隻管發送指令,而不管服務啟動或停止的結果。

NET指令會等待執行結束,指令執行後,會等待啟動成功後再執行一下條指令。

檢出(伺服器到本地庫)

svn checkout svn://localhost/OnlineStudy D:\WorkSpace\OnlineStudy

添加到本地庫

svn add test.txt(本地庫根目錄執行)

或者其他目錄執行

C:\WINDOWS\system32>svn add D:\WorkSpace\OnlineStudy\src

A         D:\WorkSpace\OnlineStudy\src

A         D:\WorkSpace\OnlineStudy\src\test

A         D:\WorkSpace\OnlineStudy\src\test\java

A         D:\WorkSpace\OnlineStudy\src\test\java\HelloTest.java

A         D:\WorkSpace\OnlineStudy\src\main

A         D:\WorkSpace\OnlineStudy\src\main\resources

A         D:\WorkSpace\OnlineStudy\src\main\java

C:\WINDOWS\system32>svn add D:\WorkSpace\OnlineStudy\web

A         D:\WorkSpace\OnlineStudy\web

A         D:\WorkSpace\OnlineStudy\web\WEB-INF

A         D:\WorkSpace\OnlineStudy\web\WEB-INF\applicationContext.xml

A         D:\WorkSpace\OnlineStudy\web\WEB-INF\dispatcher-servlet.xml

A         D:\WorkSpace\OnlineStudy\web\WEB-INF\web.xml

C:\WINDOWS\system32>svn add D:\WorkSpace\OnlineStudy\pom.xml

A         D:\WorkSpace\OnlineStudy\pom.xml

修改匿名通路權限

D:\Subversion\DevRepository\OnlineStudy\conf\svnserve.conf

将第19行的# anon-access = read改為anon-access = write,也就是去掉“# ”,将read改為write。注意前面不要留白格,一定要頂格寫

送出

svn commit -m "My first commit"  (本地庫根目錄執行)

或者

svn commit D:\WorkSpace\OnlineStudy\ -m "My first commit"

檢出到其他目錄(OnlineStudy2)

svn checkout svn://localhost/OnlineStudy D:\WorkSpace\OnlineStudy2

修改OnlineStudy本地庫檔案并送出

C:\WINDOWS\system32>svn commit D:\WorkSpace\OnlineStudy\ -m "My first commit"

正在發送       D:\WorkSpace\OnlineStudy\src\test\java\HelloTest.java

傳輸檔案資料.

送出後的版本為 2。

更新本地庫OnlineStudy2

C:\WINDOWS\system32>svn update D:\WorkSpace\OnlineStudy2

正在更新 'D:\WorkSpace\OnlineStudy2':

U    D:\WorkSpace\OnlineStudy2\src\test\java\HelloTest.java

更新到版本 2。

授權通路

[1]打開D:\Subversion\DevRepository\OnlineStudy\conf\svnserve.conf

[2]将第19行anon-access = write注釋掉:# anon-access = write

表明該版本庫不接受匿名通路 如果要檢視版本曆史條目 修改成 anon-access = none

[3]将第20行# auth-access = write注釋打開:auth-access = write

表明該版本庫使用授權通路

[4]将第27行注釋打開:password-db = passwd

表明使用同目錄下的passwd檔案儲存使用者資訊

[5]将第36行注釋打開:authz-db = authz

表明使用同目錄下的authz檔案儲存權限資訊

[6]打開passwd檔案建立使用者

[users]

# harry = harryssecret

# sally = sallyssecret

sirius = 1234

[7]打開authz檔案:#後面注釋的是例子

<1>建立使用者組

canWrite = userWrite01,userWrite02

<2>指定路徑,給使用者和使用者組授權

# [/foo/bar]

# harry = rw

# &joe = r

# * =屏蔽那些未設定的使用者,讓它們沒有任何權限

[/]

@canWrite = rw

userRead = r

* =

<3>權限的繼承性:父目錄設定的權限,對子目錄同樣有效——除非子目錄進行了更為具體的設定

[/subDir]

userOther = rw

* =

多版本庫共享配置

6.1 在版本庫根目錄D:\Subversion\DevRepository下建立commConf目錄

6.2 将未修改的authz和passwd檔案拷貝到commConf目錄下

6.3 修改需要設定權限的版本庫的svnserve.conf檔案

①password-db = ../../commConf/passwd

②authz-db = ../../commConf/authz

6.4 在password中建立使用者

[users]

# harry = harryssecret

# sally = sallyssecret

userERP = 123456

userOA = 123456

userCRM = 123456

6.5 在authz中針對不同版本庫為不同使用者授予權限

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[ERP:/]

userERP = rw

* =

[OA:/]

userOA = rw

* =

[CRM:/]

userCRM = rw

* =

關于idea 配置svn 2017.3.2版

settings->version control ->Subversion

svn版本控制實戰
svn版本控制實戰

繼續閱讀