VisualSVN Server搭建SVN服務器及客戶端SVN基本使用

VisualSVN Server搭建SVN服務器

 


 

使用原始的SVN和Apache相配合來實現源代碼的SVN管理,雖然專業且功能強大,但對於一般個人用戶來說未免太過複雜。而使用VisualSVN Server來實現主要的SVN功能則簡單得多。

簡單的直接看前面,詳細的看後面部分。

VisualSVN Server 免費

只需要簡單的2步就OK了~

1.安裝VisualSVN Server,設置倉庫地址和安裝路徑.

有security選項,並且設置一下端口~很easy

記住端口,OK了.

2.裝TortoiseSVN

安裝後在services.msc中VisualSVN Server的服務項目,開始和關閉就不用說了吧.

大功告成.可以正常使用了,哈哈.

客戶端只要TortoiseSVN就行.

其他東東:

1.若要使用命令行SVN,安裝一個Subversion即可,或者,系統環境變量的path設置到C:/Program Files/VisualSVN Server/bin(這傢伙不守本分,裝到c盤不讓人知道,呵呵,無所謂了,又不大)

2.VisualSVN本是個和Visual Studio 配套的軟件,實現SVN功能.有興趣的人可以用一下,安裝之後在Solution View裏面會有新鮮的圖標顯示.但注意,它是要錢的!不過,隨本主題貼一個crack,歡迎大家使用.注意,這只是crack,下載要對應好版本,新版本我沒有試過,不過1.2.4足夠用了.下載http://www.visualsvn.com/download.html

在VisualSVN Server Manager中可以設置用戶的權限,方便直觀,省去了很多手動操作的麻煩 不過Everyone的權限好像有點問題,匿名我還不知道如何使用(反正我也不用,先放着吧)

=======================================

VisualSVN Server 的安裝

Visual SVN的安裝非常的簡單,整個安裝過程不需要用戶的很多幹預。

1. 選擇程序安裝的路徑、Subversion Repository(庫)的路徑和所使用的協議和端口。

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

你可以選擇HTTP和HTTPS兩種協議,如需使用svn協議也非常的方便,在1.4版本後,Subversion加入了Service運行的功能。端口號可以任意定義。對於HTTPS的端口號默認可以選擇443和8443,對於HTTP默認可以選擇80、8080和81。

我個人偏向於使用HTTPS的8443端口,原因很簡單HTTPS安全性比較高,雖然443端口是標準HTTPS端口,但如果做WEB開發那肯定就有麻煩,同時Skype也會使用這個端口進行某些通訊(Skype很奇怪的,會使用這標準端口來通訊)。

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

同時建議在設置代碼倉庫Repository安裝位置時可以考慮安裝到其他目錄,這樣比較容易備份。

2.接着就是複製文件的過程。

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

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

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

安裝完成後運行“開始”中的“VisualSVN Server Manager”,如下:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

在VisualSVN Server Manager中右擊某個庫或者工程,選擇“瀏覽”即可在瀏覽器中查看代碼了,當然要輸入之前設置的用戶和密碼。

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

官方下載地址:http://www.visualsvn.com/server/

目前的最新版本是2.08

===============FAQ====================

1.爲什麼要用VisualSVN Server,而不用Subversion?

回答:

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

2.爲什麼不用TFS?

回答:

因爲我們一開始就是用Subversion和TortioseSVN,所以就沒有更換其他的軟件。至於TFS至今沒有用過,其實,我只是看了一些的文章而已,對它也不瞭解。

3.VisualSVN Server是免費的嗎?

回答:

是的,VisualSVN Server是免費的,VisualSvn Server是SVN的服務器端包括Subversion、Apache和用戶及權限管理,優點在上面已經說過了。而VisualSVN是收費的。VisualSVN是SVN的客戶端,和Visual Studio集成在一起,

好了,言歸正傳,正式開始我們今天的教程。

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

安裝好VisualSVN Server後【安裝過程看這裏】,運行VisualSVN Server Manger,下面是啓動界面:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

好的,下面我來添加一個代碼庫【Repository】,如下圖:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

按上圖所示,創建新的代碼庫,在下圖所示的文本框中輸入代碼庫名稱:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

注意:上圖中的CheckBox如果選中,則在代碼庫StartKit下面會創建trunk、branches、tags三個子目錄;不選中,則只創建空的代碼庫StartKit。

點擊OK按鈕,代碼庫就創建成功了。

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

創建完代碼庫後,沒有任何內容在裏面。我會在這個教程的第二部分說明如何遷入源代碼。

下面,我們開始安全性設置,在左側的Users上點擊右鍵:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

輸入上面的信息,點擊OK,我們就創建一個用戶了。按照上面的過程,分別添加用戶Developer1、tester1、manager1,好了,我們開始添加這些用戶到我們剛纔創建的項目裏:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

點擊上圖中的"Add..."按鈕,在下圖中選擇我們剛纔添加的用戶,點擊OK按鈕:

說明:大家可能注意到了下圖中的Groups,是的,你也可以先創建組,把用戶添加到各個組中,然後對組進行授權,操作比較簡單,在此略過。

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

按照下圖所示,分別對用戶【或組】進行授權:

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

點擊"確定"按鈕,上面的用戶就具有了訪問StartKit代碼庫的不同權限。

因爲用戶starter在團隊中是新來者,不希望他向代碼庫中提交新代碼,所以他只能讀取代碼庫中的代碼,不能提交代碼。tester1是測試人員,不負責代碼編寫,所以也是隻讀權限。而Developer1和manager1是開發人員和項目經理,自然具有讀、寫的權限。

在實際的項目開發過程中,Developer和tester往往不可能只有一個人,這時候使用組來授權更加方便,這個大家可以自己練習一下。

二、TotoiseSVN的基本使用方法

在 項目管理實踐教程一、工欲善其事,必先利其器【Basic Tools】中,我已經講解了怎樣安裝TortoiseSVN。在上面的講解中已經講了怎麼使用VisualSVN Server了,今天我要講的是,TortoiseSVN的簡單使用方法。

一、簽入源代碼到SVN服務器

假如我們使用Visual Studio在文件夾StartKit中創建了一個項目,我們要把這個項目的源代碼簽入到SVN Server上的代碼庫中裏,首先右鍵點擊StartKit文件夾,這時候的右鍵菜單如下圖所示:

圖2-2-1

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

點擊Import,彈出下面的窗體,其中http://zt.net.henu.edu.cn/ 是服務器名,svn是代碼倉庫的根目錄,StartKit是我們在上個教程中添加的一個代碼庫:

說明:左下角的CheckBox,在第一次簽入源代碼時沒有用,但是,在以後你提交代碼的時候是非常有用的。

圖2-2-2

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

點擊OK按鈕,會彈出下面的窗體,要求輸入憑據:

圖2-2-3

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

在上面的窗體中輸入用戶名和密碼,點擊OK按鈕:

圖2-2-4

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

如上圖所示,好了,源代碼已經成功簽入SVN服務器了。這時候團隊成員就可以遷出SVN服務器上的源代碼到自己的機器了。

二、簽出源代碼到本機

在本機創建文件夾StartKit,右鍵點擊Checkout,彈出如下圖的窗體:

圖2-2-5

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

在上圖中URL of Repository:下的文本框中輸入svn server中的代碼庫的地址,其他默認,點擊OK按鈕,就開始簽出源代碼了。

說明:上圖中的Checkout Depth,有4個選項,分別是遷出全部、只簽出下一級子目錄和文件、只簽出文件、只簽出空項目,默認的是第一項。上面的例子中,我們也可以使用web的方式訪問代碼庫,在瀏覽器中輸入http://zt.net.henu.edu.cn/svn/StartKit/

這時候也會彈出對話框,要求輸入用戶名和密碼,通過驗證後即可瀏覽代碼庫中的內容。

搞定!源代碼已經成功簽出到剛纔新建的StartKit目錄中。

打開StartKit目錄,可以看到如下圖的文件夾結構:

圖2-2-5

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

一旦你對文件或文件夾做了任何修改,那麼文件或文件夾的顯示圖片機會發生變化。下圖中我修改了其中的二個文件:

圖2-2-7

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

大家看一下不同狀態所對應的圖片:

圖2-2-8

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

我們已經知道怎麼將源代碼簽入到SVN服務器,怎麼從服務器簽出代碼到本機,也簡單瞭解了不同狀態所對應的圖案啦。

三、提交修改過的文件到SVN服務器

上面的圖2-2-7中,我修改了位於Model文件中的二個文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服務器。

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

在Model文件夾上點擊右鍵或在Model文件下的空白處點擊右鍵,點擊SVN Commit…彈出下面的窗體:

圖2-2-9

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

點擊OK按鈕後,彈出如下圖的窗體:

圖2-2-10

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

四、添加新文件到SVN服務器

我們在Model文件下添加一個新的類文件UserInfo.cs,在Model文件下的空白處點擊右鍵,點擊SVN Commit…,和上面講的提交修改過的文件到SVN服務器一樣,就可以了。

另外也可以在文件UserInfo.cs上點擊右鍵,點擊TortoiseSVN=>>Add,彈出如下圖的窗體:

圖2-2-11

VisualSVN Server搭建SVN服務器 - 398198920 - 冰凍三尺非一日之寒

選中UserInfo.cs文件,點擊OK按鈕,這樣並沒有將這個文件提交到SVN服務器,只是將這個文件標記爲源代碼庫庫中的文件,並將其狀態置爲修改狀態。之後,我們要再SVN Commit這個文件一次,纔可以將其真正提交到SVN服務器上的代碼庫中。

上面講是添加文件,實際上,添加文件夾的步驟也是一樣的,這裏就不說了。

五、更新本機代碼與SVN服務器上最新的版本一致

這個也很簡單,只要在需要更新的文件夾上點擊右鍵或在該文件下的空白處點擊右鍵,點擊SVN Update,就可以了。

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

六、重命名文件或文件夾,並將修改提交到SVN服務器

只要在需要重命名的文件或文件夾上點擊右鍵,點擊TortiseSVN=>>Rename…,在彈出的窗體中輸入新名稱,點擊OK按鈕,就可以了。此方法也不是直接重命名,而是將該文件或文件夾的名稱標記爲重命名後名稱,也需要我們使用SVN Commit提交到SVN服務器後才真正重命名。

七、刪除文件或文件夾,並將修改提交到SVN服務器

最簡單就是,你直接刪除文件或文件夾,然後使用SVN Commit提交更新到SVN服務器。另外一種方法是在你要刪除的文件或文件夾上點擊右鍵=>>TortoiseSVN=>>Delete刪除,此方法也不是直接刪除,而是將該文件或文件夾的狀態置爲刪除,也需要我們使用SVN Commit提交到SVN服務器後才真正刪除。

說明:實際上,從你把源代碼遷簽入SVN服務器開始,每一個版本的數據和文件,就算是你已經刪除了的,也都可以隨時遷出。

以上只是TortoiseSVN最簡單的幾個功能,其實他的功能遠不止這些,其他的功能大家可以在使用的過程中慢慢體會,有些功能我會在下面的教程中使用到,到時候會和大家講清楚用法。

注意:向SVN服務器提交源代碼的時候,一定不要提交bin、obj等文件夾,否則會很麻煩。但是web項目的bin目錄除外,但是web項目的bin目錄中的引用其他項目而生成的dll不需要提交。

一個好習慣:如果項目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,這時候不要簡單從他們的安裝位置引用,而是在你的解決方案下,添加一個Library的目錄,把需要的程序集複製到這裏,然後從Library目錄引用,這樣有什麼好處,自己想一想吧!


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