搭建本地SVN服務器完整流程

1、安裝SVN的服務器端subversion

2、安裝SVN的客戶端TortoiseSVN

3、搭建SVN的倉庫,比如我在E盤的根目錄下創建了一個SVN的目錄,在SVN目錄下又創建了一個目錄SVNRep,用來存放各個項目的,比如我在該目錄下又創建了三個目錄OA、ERP、CRM,分別用來存放三個不同的項目。

4、創建版本庫

4.1、打開cmd,進入到相關目錄下,比如我進入OA項目下

然後執行DOS命令:svnadmin create E:\repository\SVNRep\OA

完了之後,我們可以看到在OA目錄下多了這些文件:

5、啓動服務器

-r:表示版本庫的根目錄

-d:表示後臺執行程序

我們依然打開cmd,然後輸入如下命令:

回車執行該命令,然後會彈出一個對話框,問我們是否允許subversion訪問網絡,點允許訪問。

怎麼測試服務已經啓動了呢?

看3690端口是否被監聽:

像這樣服務就啓動了,但是要保證服務器一直開着,就必須保證執行svnserve -d -r E:\repository\SVNRep\OA的窗口一直保留,這樣其實是很不方便的。

 對此,我們可以註冊一個window服務,讓該svn服務隨着系統啓動而啓動

6、註冊window服務

打開cmd,執行如下dos命令

sc create SVNService binpath= "D:\Programming\subVersion\setlocation\bin\svnserve.exe --service -r E:\repository\SVNRep"        start= auto depend= Tcpip

我們在服務裏面可以看到,SVNService已經啓動了

此時服務已經啓動成功了

7、checkout命令

我們在cmd窗口輸入 svn checkout svn://localhost/OA命令

但是出錯了,如下圖提示:

有人說是因爲TortoiseSVN(客戶端)的版本比Subversion(服務端)的版本要高

我的TortoiseSVN的版本:1.9.2

我的Subversion的版本:1.8.8

然後我將TortoiseSVN版本降至1.8.1,還是會出現上面的錯誤。

經過網上一番查找,終於找出了問題:

問題真實原因:

可以看到第四步和第五步

我是先執行了第四步,創建了OA,ERP,ORM這些版本庫,然後再執行第五步,啓動服務。而在啓動服務之前創建的版本庫是無效的

後來我在啓動服務之後,通過svnadmin create E:\repository\SVNRep\Test創建一個新的版本庫

然後再通過svn checkout svn://localhost/Test 取出這個版本庫,這時候就沒有錯誤了。

現在我們成功將服務端的Test目錄checkout到E:\svnClient\MyOA\Test裏面了,這時候我們在Test文件夾裏面有一個.svn文件夾,這是一個隱藏文件夾,用來客戶端與服務端的一個連接作用,不要將它刪掉了。

8、commit命令

8.1、首先我們在E:\svnClient\MyOA\Test下面新建一個文件名爲helloSVN.txt的文件

8.2、執行提交命令 進入 Test 目錄下面,執行svn commit helloSVN.txt命令,但是出現瞭如下錯誤:“xxxxxx”尚未納入版本庫

8.3、將helloSVN.txt納入版本庫:執行命令 svn add helloSVN.txt,完了之後會有如下響應 A helloSVN.txt

其中:A表示文件的狀態 剛剛加入進來

8.4、再次提交,還是會出現錯誤,錯誤如下:

他給我們提示的錯誤原因是沒有提交日誌

8.5、增加提交日誌,再次commit,仍然沒有成功,提示錯誤爲認證失敗。

8.6、找到E:\repository\SVNRep\Test\conf目錄下的svnserver.conf文件

將該文件的第19行的註釋去掉,並將read改爲write

改後如下:

8.7、再次執行提交命令:終於成功了

9、另一個用戶(Tom)從服務端checkout出來項目,修改後並提交,假設Tom所在的目錄爲:E:\svnClient\Tom

該操作大家可以去嘗試做一下

最後提供一下課程地址:http://www.chuanke.com/v1982732-196863-1122355.html,我是根據百度傳課的視頻教程來進行操作的,希望對大家有用,有不明白的可以諮詢我,或者對着視頻認真看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章