1. 程式人生 > >SVN伺服器搭建(服務端+客戶端)

SVN伺服器搭建(服務端+客戶端)

Windows下使用VisualSVN Server搭建SVN伺服器

SVN簡介:

 1、為什麼要使用SVN?

      程式設計師在編寫程式的過程中,每個程式設計師都會生成很多不同的版本,這就需要程式設計師有效的管理程式碼,在需要的時候可以迅速,準確取出相應的版本。

2、Subversion是什麼?

   它是一個自由/開源的版本控制系統,一組檔案存放在中心版本庫,記錄每一次檔案和目錄的修改,Subversion允許把資料恢復到早期版本,或是檢查資料修改的歷史,Subversion可以通過網路訪問它的版本庫,從而使使用者在不同的電腦上進行操作。

3、為什麼要用VisualSVN Server,而不用Subversion?

因為如果直接使用Subversion,那麼在Windows 系統上,要想讓它隨系統啟動,就要封裝SVN Server為windws service,還要通過修改配置檔案來控制使用者許可權,另外如果要想以Web方式【http協議】訪問,一般還要安裝配置Apache,如果是新手,豈不是很頭痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻煩。安裝的時候SVN Server已經封裝為windws service,Apache伺服器的配置也只是在影象介面上,指定認證方式、訪問埠等簡單操作;另外,使用者許可權的管理也是通過影象介面來配置。

VisualSVNServer集成了Subversion和Apache。使用VisualSVNServer作為服務端,還需要一個使用者的操作端,用於提交更新檢出程式碼,常用的有Eclipse的Svn外掛,以及TortoiseSVN(小烏龜)

VisualSVN Server的下載地址(免費的): https://www.visualsvn.com/server/download/

TortoiseSVN 下載地址https://tortoisesvn.net/downloads.html

這裡下載的都是64位的,TortoiseSVN與VisualSVN搭配使用。

 

 一 Visual SVN的安裝非常的簡單  【服務端】 

 

1、下載完成後雙擊安裝:

   

2、一直【Next】,到如下所示:

   

3、點選-->選擇程式安裝的路徑、Subversion Repository(庫)的路徑和所使用的協議和埠。

       可以選擇HTTP和HTTPS兩種協議,如需使用svn協議也非常的方便,在1.4版本後,Subversion加入了Service執行的功能。埠號可以任意定義。對於HTTPS的埠號預設可以選擇443和8443,對於HTTP預設可以選擇80、8080和81。
       偏向於使用HTTPS的8443埠,原因很簡單HTTPS安全性比較高,雖然443埠是標準HTTPS埠,但如果做WEB開發那肯定就有麻煩,同時Skype也會使用這個埠進行某些通訊。

   

4、然後next-->點選install --> finish

安裝完成後會詢問你是否需要執行VisualSVN Server Manager(一個非常有用的管理工具) 

  

  5、開啟“ VisualSVN Server Manager ”,如下:

    

 

二、安裝TortoiseSVN(小烏龜)【客戶端】

 

1、下載完成後雙擊安裝,一直【Next】,到如下所示自定義安裝路徑:  

  

2、一直next --> install --> finish完成

  

一二步 完成安裝,在任意目錄位置,右鍵可以看到多了兩個選單

  

 

三、 VisualSVN Server的配置和使用方法【服務端】

1、建立一個程式碼庫:點選Repository右鍵,下一步

    

 

左圖輸入程式碼庫名稱,右圖中的選擇Empty…,只建立空的程式碼庫QGroundStation ; 如果選中Single…則在程式碼庫下面會建立trunk、branches、tags三個子目錄。

選擇預設選項,點選Create,finish,程式碼庫就建立成功了,此時還沒有任何內容在裡面

  

注意: 一般新建程式碼庫之後, 新建多個專案(會建立三個資料夾)或者建資料夾(不會建立多餘資料夾)方便管理

輸入專案名或資料夾名(最好和開發專案名一致,若不一致,從svn檢出時會以TortoiseSVN遷入的專案名一致),

    

 

 

2、開始安全性設定,在左側的Users上右鍵

 

   輸入上面的資訊,點選OK,使用者建立成功。按照上面的過程,分別新增其他使用者就可以了。

3、開始新增這些使用者到我們剛才建立的專案裡。

點選剛才建立的程式碼庫,右擊選擇屬性(Properties)

    

   注意這裡的許可權設定,要選擇好。

  點選"確定"按鈕,上面的使用者就具有了訪問svn_project2程式碼庫的不同許可權。

四、從客戶端遷入專案原始碼到SVN伺服器

安裝TortoiseSVN後,使用TortoiseSVN的將專案原始碼遷入遷入到SVN Server上的程式碼庫中,。

右擊專案資料夾,如圖,點選Import選項

  

彈出如下圖:其中URL of repository是svn server中程式碼庫的根目錄,在資訊輸入框中寫記錄日誌是個非常好的習慣

點選OK按鈕,會彈出下面的窗體,要求輸入憑據。輸入建立的使用者名稱密碼後,點選OK按鈕,

  

如圖所示,專案原始碼成功遷入SVN伺服器

 

五、從SVN伺服器程式碼庫中遷出專案原始碼到客戶端或本機

在本機建立資料夾 project1 右鍵點選 SVN Checkout,彈出如下圖的窗體

  

 

一旦你對該檔案或其下資料夾做了任何修改,那麼檔案或資料夾的顯示圖片就會發生變化。注:

   一個新檢出的工作複本使用綠色的對勾過載,表示Subversion狀態正常。

    在你開始編輯一個檔案之後,狀態就變成了已修改,而圖示過載已變成了紅色感嘆號。通過這種方式,你可以很容易地看出那些檔案從你上次更新工作複本被修改過,且需要提交。

       如果在提交的過程中出現了衝突,圖示就會變成了黃色感嘆號。

       加號告訴你有一個檔案或者目錄已經被計劃加入到版本控制中。 

提交修改過的檔案到SVN伺服器

注意:提交原始碼到伺服器時,一定確保本機的程式碼是最新版本,否則可能提交失敗,或者造成版本衝突。

在資料夾內的空白處點選右鍵,點選SVN Commit

新增新檔案到SVN伺服器

1、 在資料夾內的空白處點選右鍵,點選SVN Commit…,和上面講的提交修改過的檔案到SVN伺服器一樣,就可以了。

2、 也可以在新建的檔案上點選右鍵,點選TortoiseSVN=>>Add,這樣只是將這個檔案提交到“變更列表”中。必須VN Commit這個檔案一次,才可以將其真正提交到SVN伺服器上的程式碼庫中。

新增資料夾的步驟也是一樣的。

更新本機程式碼與SVN伺服器上最新的版本一致

只要在需要更新的資料夾上點選右鍵或在該檔案下的空白處點選右鍵,點選SVN Update,就可以了。

注意:更新操作可能會因為版本衝突而失敗,這是可以使用合併【Merge】或其他方法解決;也可能因為鎖定【Get Lock】而失敗,這是需要先解鎖【Release Lock】。

重新命名檔案或資料夾,並將修改提交到SVN伺服器

在需要重新命名的檔案/件夾上點選右鍵,點選TortiseSVN=>>Rename…,在彈出的窗體中輸入新名稱,點選OK按鈕,就可以了。此方法不是直接重新命名,我們使用SVN Commit提交到SVN伺服器後才真正重新命名。

刪除檔案或資料夾,並將修改提交到SVN伺服器

1、  直接刪除檔案或資料夾,然後使用SVN Commit提交更新到SVN伺服器。

2、  在要刪除的檔案/資料夾上右鍵,TortoiseSVN=>>Delete,此方法也不是直接刪除,而是將狀態置為刪除,仍需要SVN Commit,在變更列表中選擇被刪除檔案,執行後才真正刪除。

說明:實際上,從你把原始碼遷入SVN伺服器開始,每一個版本的資料和檔案,就算是你已經刪除了的,也都可以隨時遷出。

 

 

注意:向SVN伺服器提交原始碼的時候,一定不要提交bin、obj等資料夾,否則會很麻煩。但是web專案的bin目錄除外,但是web專案的bin目錄中的引用其他專案而生成的dll不需要提交。

一個好習慣:如果專案中引用了其他的第三方的程式集,比如EnterpriseLibrary、FCKEditor等,這時候不要簡單從他們的安裝位置引用,而是在你的解決方案下,新增一個Library的目錄,把需要的程式集複製到這裡,然後從Library目錄引用。

 

參考文章:https://www.cnblogs.com/warrior1988/p/5359084.html

兩者安裝 https://www.cnblogs.com/xing901022/p/4399382.html