1. 程式人生 > >SVN伺服器搭建和使用詳情

SVN伺服器搭建和使用詳情

SVN伺服器搭建和使用

 Subversion是優秀的版本控制工具,其具體的的優點和詳細介紹,這裡就不再多說.

首先來下載和搭建SVN伺服器.

現在Subversion已經遷移到apache網站上了,下載地址:

這是二進位制檔案包的下載地址,你可在左側的導航欄找到原始碼,文件的下載地址.

windows作業系統下面的二進位制檔案包一共有5種,如圖:

個人認為最好用VisualSVN server 服務端和 TortoiseSVN客戶端搭配使用。

點開上面的VisualSVN連線,下載VisualSVN server,如圖:

注意下載跟你電腦匹配的安裝包,在頁面的下面你還可以找到語言包,如圖:

下載完成後,應該有這些安裝包,如圖:

TortoiseSVN安裝包和簡體中文語言包

VisualSVN server安裝包

先安裝VisualSVN server的安裝包,雙擊VisualSVN server安裝包,如圖:

點Next,進入下一步,如圖:

點同意,進圖下一步,如圖:

選擇上面一個選項,點Next,進入下一步,如圖:

Location是指VisualSVN Server的安裝目錄,Repositorys是指定你的版本庫目錄.Server Port指定一個埠,Use secure connection勾山表示使用安全連線,Use Subversion authentication 表示使用Subversion自己的使用者認證.點選Next,進入下一步,如圖:

點Install,進入下一步,如圖:

等待安裝完成,如圖:

安裝完成後,啟動VisualSVN Server Manager,如圖:

接下來我們安裝TortoiseSVN,雙擊安裝包,進入下一步.如圖:

點選Next,進入下一步,如圖:

選擇接受,然後點選Next,進入下一步,如圖:

選擇安裝路徑,然後點選Next,進入下一步,如圖:

點選Install,開始安裝,如圖:

等待安裝完成,安裝完成後如圖:

接下來我們安裝簡體中文語言包,這個非常簡單,一路Next就行;

語言包安裝完成以後在桌面任意空白地方單擊滑鼠右鍵,會在右鍵選單裡找到SVN,如圖:

選擇設定,進入下一步,如圖:

在右邊的語言裡面選擇簡體中文,然後點選應用,確定,漢化即完成,如圖:

到這裡,服務端和客戶端都已經安裝完畢,下一篇介紹用VisualSVN Server建立版本庫,以及TortoiseSVN的使用

上一篇介紹了VisualSVN Server和TortoiseSVN的下載,安裝,漢化.這篇介紹一下如何使用VisualSVN Server建立版本庫,以及TortoiseSVN的使用.

首先開啟VisualSVN Server Manager,如圖:

可以在視窗的右邊看到版本庫的一些資訊,比如狀態,日誌,使用者認證,版本庫等.要建立版本庫,需要右鍵單擊左邊視窗的Repositores,如圖:

在彈出的右鍵選單中選擇Create New Repository或者新建->Repository,進入下一步:

輸入版本庫名稱,勾上Create default structure複選框(推薦這麼做).點選OK,版本庫就建立好了,版本庫中會預設建立trunk,branches,tags三個資料夾,如圖:

這時候我們將專案匯入到版本庫中,找到你的專案資料夾,在專案資料夾上點選滑鼠右鍵,找到SVN選單,選擇匯入,如圖:

在彈出的對話方塊中填上版本庫URL,這個URL可以從VisualSVN Server Manager中獲取,在你的版本庫上單擊右鍵,選擇Copy URL to Clipboard,這樣就把版本庫URL複製到你的剪貼版了.如圖:

將複製的版本庫URL貼上上,在URL後面加上trunk子路徑.然後在匯入資訊裡面填上匯入資訊"匯入專案到版本庫".如圖:

點選確定,所選中的專案就會被匯入到版本庫中.如圖:

專案匯入到版本庫以後,不能隨便讓誰都能夠讀寫版本庫,所以需要建立使用者組和使用者.

在VisualSVN Server Manager視窗的左側右鍵單擊使用者組,選擇Create User或者新建->User,如圖:

在彈出的對話方塊中填寫User name和Password,然後點選OK,如圖:

用相同的方式分別建立使用者Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六個使用者,分別代表3個開發人員,兩個測試人員和一個專案經理,如圖:

然後我們建立使用者組,在VisualSVN Server Manager視窗的左側右鍵單擊使用者組,選擇Create Group或者新建->Group,如圖:

在彈出視窗中填寫Group name為Developers,然後點Add按鈕,在彈出的視窗中選擇三個Developer,加入到這個組,然後點Ok,如圖:

用相同的方式建立組Managers,Testers,如圖:

接下來我們給使用者組設定許可權,在MyRepository上單擊右鍵,選擇屬性,如圖:

在彈出的對話方塊中,選擇Security選項卡,點選Add按鈕,選中Developers,Managers,Testers三個組,然後新增進來,給Developers,Managers許可權設定為Read/Write,Tester許可權設定為Read Only,如圖:

到此,服務端就完成了.

接下來,我們用客戶端去檢出程式碼,在桌面空白處單擊右鍵,選擇SVN檢出,在彈出的對話方塊中填寫版本庫URL(具體獲取方式,上面講上傳專案到版本庫的時候講過),選擇檢出目錄,點選確定.如圖:

開始檢出專案,如圖:

檢出完成之後,我們開啟工作副本資料夾,會看到所有檔案和資料夾都有一個綠色的√.如圖:

至此,建立版本庫和使用TortoiseSVN匯入專案,檢出專案已經介紹完畢.

接下來,試試用TortoiseSVN修改檔案,新增檔案,刪除檔案,以及如何解決衝突等.

新增檔案

在檢出的工作副本中新增一個Readme.txt文字檔案,這時候這個文字檔案會顯示為沒有版本控制的狀態,如圖:

這時候,你需要告知TortoiseSVN你的操作,如圖:

加入以後,你的檔案會變成這個狀態,如圖:

這時候使用TortoiseSVN進行提交.這樣別人就能看到你所做的更改了,如圖.

修改檔案

使用TortoiseSVN更新,修改工作副本中的Readme.txt檔案,加入"hello world!",然後儲存,你會發現Readme.txt檔案的圖示改變了,如圖:

這個紅色的歎號代表這個檔案被修改了,這時候,提交更改,其他人即可看到你的更改.

重新命名檔案

使用TortoiseSVN更新,重新命名工作副本中的Readme.txt檔案為"Readme1.txt',然後儲存,你會發現Readme.txt檔案的圖示改變了,如圖:

更新增檔案一個道理,這時候你需要告訴TortoiseSVN你的操作,如圖:

加入以後,提交,這時候版本庫中的Readme.txt檔案將會被重新命名為"Readme1.txt".

刪除檔案

使用TortoiseSVN更新,使用TortoiseSVN刪除工作副本中的Readme.txt檔案,然後提交,版本庫中的相應檔案即被刪除掉了,如圖:

強制寫註釋

為了以後你能更清晰的看到你所做的每一次更改的原因,你在每次提交的時候應該寫上註釋,而且儘量詳細.如圖:

但是,可能有的人因為覺得太繁瑣,而不填寫註釋,這不利於以後的版本控制,可以將強制在提交的時候寫註釋,首先單擊右鍵,選擇TortoiseSVN->屬性,如圖:

在彈出的對話方塊中,點選新建->日誌大小,設定提交日誌的最小字元數和鎖定日誌的最小字元數為20,提交文字框中顯示邊線的字元位置設定為100,點選確定,如圖:

提交,以後再次提交的時候,如果輸入的註釋少於20個字元,將無法提交.

衝突解決

衝突問題是最常見的問題,它是這樣產生的,A使用者check out了一個工作副本A,接著B使用者又check out了一個工作副本B.然後A使用者對副本A中的檔案C做了修改(可以是內容修改,檔案刪除,重新命名,以及位置移動),並且提交.這時候B使用者也對檔案C的相同部分做了修改,這時候如果B使用者進行提交,會先被告知版本過時,要求更新,然後更新的時候會提示衝突了,這時候可以用衝突編輯器進行手動選擇.

在第一次使用TortoiseSVN從伺服器CheckOut的時候,會要求輸入使用者名稱和密碼,這時輸入框下面有個選項是儲存認證資訊,如果選了這個選項,那麼以後就不用每次都輸入一遍使用者名稱密碼了。

不過,如果後來在伺服器端修改了使用者名稱密碼,則再次檢出時就會出錯,而且這個客戶端很弱智,出錯之後不會自動跳出使用者名稱密碼輸入框讓人更新,我找了半天也沒找到修改這個使用者名稱密碼的地方。

最終,找到兩種解決辦法:

辦法一:在TortoiseSVN的設定對話方塊中,選擇“已儲存資料”,在“認證資料”那一行點選“清除”按鈕,清楚儲存的認證資料,再檢出的時候就會重新跳出使用者名稱密碼輸入框。

中文版:

英文版:

如果方法一不起作用,則可以採用方法二:

Tortoise的使用者名稱密碼等認證資訊都是快取在客戶端檔案系統的這個目錄:

C:/Documents and Settings/Administrator/Application Data/Subversion/auth

刪除auth下面的所有資料夾,重新連線遠端伺服器進行檢出,對話方塊就會出現!

伺服器配置資訊

Repository Type: FSFS

Repository Name:

Repository URL: https://127.0.0.1/svn/

Configured repository permissions:

- Everyone (Read / Write)