Windows 下搭建 SVN服務器


目錄
一 、安裝Visual SVN
二、配置SVN
三、安裝TortoiseSVN
四、上傳項目到遠程倉庫
五、從遠程倉庫下載項目
六、檢出項目
七、版本回退
 
參考鏈接
https://blog.csdn.net/jinmie0193/article/details/81583264
 
VisualSVN server 服務端和 TortoiseSVN客戶端搭配比使用原始的 SVN和Apache相配合來實現源代碼的 SVN管理簡單。
VisualSVN Server的下載:http://www.visualsvn.com/server/download/
TortoiseSVN 的 下載:http://tortoisesvn.net/downloads.html
在網頁下面還有一個Language packs,你可以選擇簡體中文,下載后直接安裝,最后勾選立即使用即可。
 
一 、安裝Visual SVN
首先下載VisualSVN Server
【1 】打開后一路下一步,有協議點同意
【2】 選擇 visualVSN服務器和管理控制台 或只有管理控制權限
選個標准版或企業版
【3】選擇程序安裝的路徑、Subversion Repository(庫)的路徑和所使用的協議和端口以及備份路徑
Location是指VisualSVN Server的安裝目錄,
Repositorys是指定你的版本庫目錄,
Server Port指定一個端口,
Use secure connection勾上表示使用安全連接。
繼續【Next】到【Finish】。
 
選擇HTTP或HTTPS兩種協議,
HTTPS的端口號默認可以選擇443和8443
HTTP默認可以選擇80、8080和81
在1.4版本后,Subversion加入了Service運行的功能。端口號可以任意定義。
個人偏向於使用HTTPS的8443端口,因為HTTPS安全性比較高,雖然443端口是標准HTTPS端口,但如果做WEB開發那肯定就有麻煩,同時Skype也會使用這個端口進行某些通訊。
還有就是下面的用於驗證的身份,一個是windows驗證,一個是Subversion身份驗證,這里默認是Subversion身份驗證。
【4】接着就是安裝過程
【5】安裝完成后會詢問你是否需要運行VisualSVN Server Manager
【6 】點finish,打開“ VisualSVN Server Manager “
 
右側狀態區包括:
Status:服務運行狀態
SubversionAuthentication:賬戶信息
Respositories:代碼庫信息
 
二、配置SVN
1.創建遠程倉庫
修改URL:
如電腦IP是:192.168.100.100
右鍵 VisualSVN Server選擇Properties
選中NetWork輸入IP即可
添加一個代碼庫【Repository】,左側Respositories上右鍵菜單中選擇創建一個代碼庫
之后會提示選擇倉庫類型:
FSFS:根據標准的FSFS數據存儲創建一個常規的Subversion存儲庫。
VDFS:基於VisualSVN分布式文件系統創建分布式Subversion存儲庫。VDFS存儲庫充當標准的Subversion存儲庫,允許在地理分布的站點之間復制數據。
選擇FSFS,輸入倉庫名字
選Empty,只創建空的代碼庫FirstRep;
選Single,則在代碼庫FirstRep下面會創建trunk、branches、tags三個子目錄。
我們選Single
選擇倉庫的使用權限,選擇所有用戶
點擊create之后帶你finish,創建成功
 
2.創建用戶並添加
在左側的Users上點擊右鍵:
輸入信息,點擊OK,我們就創建一個用戶了。
按照上面的過程,分別添加用戶其他用戶就可以了。
下面我們開始添加這些用戶到我們剛才創建的項目里。
點擊剛才創建的庫,右擊選擇屬性(Properties) 
點擊上圖中的"Add..."按鈕,在下圖中選擇我們剛才添加的用戶,
選中添加的用戶還可以配置權限
 
注意這里的權限設置,要選擇好。
點擊"確定"按鈕,上面的用戶就具有了訪問代碼庫的不同權限。
右鍵創建的倉庫,選copy url ,然后到網頁打開連接
之后會讓你輸入賬號密碼,然后就可以登陸了。
 
三、安裝TortoiseSVN
上傳到SVN服務器首先要下載TortoiseSVN
下載后安裝,一路next,然后finish
最后也可以自己安裝中文包,一路next,最后勾選立即使用即可。
 
四、上傳項目到遠程倉庫
假設我們本地有個TestDIR目錄,里面兩個txt文件
此時遠程倉庫狀態:
右鍵FirstRep,選擇copy url
之后到本地右鍵FirstRep目錄,選擇TortoiseSVN,導入
然后輸入剛才的URL,同時也可以輸入項目描述
等待一會
此時在VisualSVN 空白處右鍵,選擇刷新,此時遠程倉庫狀態:
 
 
五、從遠程倉庫下載項目
假如我們要下載FirstRep倉庫代碼,到TestDIR
首先右鍵點擊FirstRep文件夾,這時候的右鍵菜單如下圖所示:選擇copy URL toCLipboard
然后再進入TestDIR文件夾,在電腦的空白處單擊右鍵,選擇小海龜的圖標/ 導出
之后彈出對話框,將剛出的地址粘貼到第一個地址欄中,也可以自己指定目錄,然后確定
之后會彈出輸入用戶名和密碼的對話框,輸入新建賬戶和密碼,
確定,然后會彈出檢出界面。
ok下載成功。
 
六、檢出項目
檢出項目是把遠程倉庫下載到本地,可以對項目提交,修改,刪除等。
下載代碼只是下載到本地,沒有任何權限,相當於只讀。
客戶端去檢出代碼,在桌面空白處單擊右鍵,選擇SVN檢出,

 

在彈出的對話框中填寫版本庫URL,檢出目錄(自動生成項目同名文件夾),還可以選擇版本

 

等待一會會提示檢出完成

 

檢出完成之后,我們打開工作副本文件夾,會看到所有文件和文件夾都有一個綠色的√.

 

 
七、版本回退
首先檢出項目到本地

 

基本方法:
1.右擊剛才檢出的FirstRep目錄,TortoiseSVN – show log(顯示日志)

 

 
2.右擊你想要回滾到的版本,可以看到兩個選項:“Revert to this revision”和“Revert changes from this revision”。

 

下面舉例說明
譬如有個文件,有十個版本,假定版本號是1,2,3,4,5,6,7,8,9,10。
Revert to this revision(復原到此版本): 
如果是在版本6這里點擊“Revert to this revision”,表示7~10的修改全部作廢,歷史倒退到了版本6那個年代。
Revert changes from this revision(復原到此版本做出的修改):
如果是在版本6這里點擊“Revert changes from this revision”,表示版本6這個歷史事件被抹殺了,只剩下除版本6外的9個歷史事件了。
如果同時選擇了6,7,8三個歷史時期並點擊“Revert changes from this revision”,表示抹殺6~8這仨歷史時期。
同理,如果同時選擇7~10,然后點擊“Revert changes from this revision”,則效果跟在版本6這里點擊“Revert to this revision”是一樣的。
我們選擇復原到此版本,會提示如下

 

點擊還原 

 

然后右鍵檢出的FirstRep目錄,點擊提交之后便生效了。

 

 
 
其他優質方法
方法1
描述:直接檢出一個你需要的版本,然后用你檢出的版本覆蓋你的最新的版本,
優點:不丟失你新建的文件,同時獲得最新的SVN版本控制。
操作步驟:
(1)右鍵剛剛檢出的版本14文件夾→TortoiseSVN→Show log(顯示日志)→選中需要回滾的版本→右鍵→檢出。

 

(2)你需要重新指定一個文件夾,否則會沖突,如選擇test1文件夾

 

(3)此時文件夾視圖如下:

 

 

(4)然后在新檢出的目錄修改BUG,比如新加一個3.txt文件

 

(5)最后,右鍵新檢出的目錄,選擇commit提交,用修改文件覆蓋到你的最新版本,即可。 
 

 

此時遠程倉庫如下
 

 

方法2
merge命令
(1)右鍵檢出目錄,選擇TortoiseSVN中的合並(merge)。
 

 

(2)選擇合並類型

 


(3)點擊next,后面什么都不用改,點擊”合並”
 

文件就回滾到了指定的版本了,commit之后,回滾完成。
 
方法3
描述:若是你編輯了工程,在沒有提交的前提下,你想放棄這些修改,
操作:直接選擇TortoiseSVN→revert就可以更新到工程的最新的版本。 

 


方法4
描述:若是你想退回到某一個版本,你就可以直接選擇TortoiseSVN→update to reversion。
注釋:這樣就可以把版本回退到你選中的版本去,這種情況下SVN並沒有顯示出有什么沖突,並且新建立的文件也還在。
缺點:在這種情況下你並不能直接在你回退后的版本上進行編輯,因為SVN的版本控制還是在最新的主干上。我們需要update並解決沖突。  
(1)右鍵test1,選擇TortoiseSVN→update to reversion,選擇版本15
 

 

(2)原先test1,版本19,內容如下
 
(3)等待更新完成,test1內容圖如下,3.txt已刪除
 

 

 
(4)此時我們修改1.txt,如下
 

 

(5)但是此時SVN的版本控制還是在最新的主干上。我們需要 update 並 解決沖突。  
 

 

方法5
你可以直接選擇revert changes from this revision,這樣的話你可以直接解決沖突並提交。
不過這種方法的不足是,你新建的文件都沒有了,整個工程都回退到之前的版本了。
 

 

 
方法6
描述:可以從日志中回滾到你需要的版本,從日志中選中你需要的版本,然后Update item to reversion就好了,這種情況下SVN不會對新建文件產生沖突,並且新建立的文件也還在,
缺點:在這種情況下你並不能直接在你回退后的版本上進行編輯,因為SVN的版本控制還是在最新的主干上。我們需要update並解決沖突
 

 

注意:
向SVN服務器提交源代碼的時候,一定不要提交bin、obj等文件夾,否則會很麻煩。但是web項目的bin目錄除外,但是web項目的bin目錄中的引用其他項目而生成的dll不需要提交。
一個好習慣:
如果項目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,這時候不要簡單從他們的安裝位置引用,而是在你的解決方案下,添加一個Library的目錄,把需要的程序集復制到這里,然后從Library目錄引用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM