Windows 下搭建 SVN服務器及使用


目錄

一 、安裝Visual SVN

二、配置SVN

三、安裝TortoiseSVN

四、上傳項目到遠程倉庫

五、從遠程倉庫下載項目

六、檢出項目

七、版本回退


參考鏈接

http://blog.csdn.net/lu1024188315

https://www.cnblogs.com/warrior1988/p/5359084.html


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下載成功。

六、檢出項目

  1.  
    檢出項目是把遠程倉庫下載到本地,可以對項目提交,修改,刪除等。
  2.  
     
  3.  
    下載代碼只是下載到本地,沒有任何權限,相當於只讀。

客戶端去檢出代碼,在桌面空白處單擊右鍵,選擇SVN檢出,

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

等待一會會提示檢出完成

 

 

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

七、版本回退

首先檢出項目到本地(操作見上面)

基本方法:

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

3.右擊你想要回滾到的版本,可以看到兩個選項:“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文件

(4)最后,右鍵新檢出的目錄,選擇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目錄引用。

備注: 本文轉載 Amarao 的CSDN 博客


免責聲明!

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



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