SVN詳細配置與使用 ——一步步教會您使用

項目管理在項目開發活動中起到很是重要的做用,而對於初學者來講學習有必定的難度,且不說如何使用,就是搭建過程恐怕也要費通常周折,介於此下面就經過圖解的方式一步一步詳細的教你們如何使用SVN,你只要耐心的一步步去實踐就能掌握html

目錄:apache

1、SVN介紹windows

2、SVN服務器安裝服務器

3、SVN客戶端安裝eclipse

4、SVN服務配置tcp

5、SVN客戶使用svn

6、Eclipse SVN客戶端插件安裝工具

1、SVN介紹

  SVN是個自由、開源的版本控制系統,絕大多數開源軟件都使用SVN做爲代碼版本管理軟件。學習

  SVN的官方網站http://subversion.apache.org/。目前SVN在開源社區中很是流行的一款版本控制軟件,它是CVS的替代產物。網站

2、SVN服務器安裝

  一、下載CollabNetSubversion-server-1.5.6-2.win32

  二、執行安裝程序CollabNetSubversion-server-1.5.6-2.win32 ---------SVN服務器軟件

  安裝完成後,右鍵菜單出現」SNV Checkout」(可將服務器中的項目簽出到本地),如圖所示

 

3、SVN客戶端安裝

  一、 下載TortoiseSVN-1.5.9.15518-win32-svn-1.5.6.msi

  二、 執行TortoiseSVN-1.5.9.15518-win32-svn-1.5.6.msi---------SVN客戶端軟件

  執行LanguagePack_1.5.9.15518-win32-zh_CN.msi------------SVN客戶端軟件漢化包(可選)安裝完成後,右鍵菜單出現」TortoiseSVN」,如上圖所示

4、SVN服務配置

方案1:使用命令和手動修改配置文件

  若是感受麻煩,可跳事後面的使用方案2

  一、 執行建立目錄  svnadmin create c:\ Repositories

  二、 打開conf目錄下的authz文件

  添加組及其用戶accp=user01,user02

  爲組用戶設置目錄的讀寫權限,組前面要用@符,第一個[/]表示目錄,[/]@accp=rw

  三、 編輯passwd文件

  格式:用戶名=密碼

     user01=1234

     user02=1234

  四、打開svnserverconf

   取消如下幾個註釋

    password-db = passwd

    authz-db = authz

  五、 開機自動啓動SVN

    sc create MySVNServer binpath= "\"C:\ProgramFilesSubversion\svnserve\svnserve\svnserve.exe" --service  -r c:\ Repositories" displayname= "SVNService" depend= Tcpip start= auto

  注意之處

(1)sc是windows自帶的服務配置程序,MySVNServer 是服務的名稱,沒什麼用。

 

(2)參數binPath表示svnserve可執行文件的安裝路徑,因爲路徑中的"Program Files"帶有空格,所以整個路徑須要用雙引號引發來。而雙引號自己是個特殊字符,須要進行轉移,所以在路徑先後的兩個雙引號都須要寫成\" 。

 

(3)--service參數表示以windows服務的形式運行,--r指明svn repository的位置,service參數與r參數都做爲binPath的一部分,所以與svnserve.exe的路徑一塊兒被包含在一對雙引號當中,而這對雙引號不須要進行轉義。

 

(4)displayname表示在windows服務列表中顯示的名字, depend =Tcpip 表示svnserve服務的運行須要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時纔會自動運行。

 

(5)binPath的等號前面無空格,等號後面有空格 displayname depend start也都同樣。 service前面是--,不是- ,而r前面是-

 

(6)若要卸載svn服務,則執行 sc delete svnserve 便可。

 

(7)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。

  六、啓動服務:

    C:\>net start svnservice

    SVNService 服務正在啓動 .

    SVNService 服務已經啓動成功。

  中止服務:

    C:\>net stop svnservice

    SVNService 服務正在中止.

    SVNService 服務已成功中止。

  刪除建立的服務

    C:\>sc delete svn svnservice

方案2:使用可視化工具

  方案1的確比較麻煩,咱們可使用VisualSVN-Server-1.6.3.msi----------SVN服務配置可視化工具

  一、下載

  二、執行VisualSVN-Server-1.6.3.msi安裝程序

  三、VisualSVN-Server的使用

  (1)建立版本庫

  主鍵面,代表SVN服務已運行,

 

  Repositories表示版本庫是svn文件共享的核心,它儲存全部的數據,並對數據進行版本化管理。按照文件樹形式存儲數據——包括文件和目錄。安裝SVN Server 時設置版本庫的路徑,默認c:\ Repositories。SVN使用URL來識別版本庫中的資源

  在Repositories下建立Repository組織不一樣項目的版本庫,例如:

  (2)建立組和用戶

  建立用戶並設置密碼,如圖所示:

  建立組並添加用戶,如圖所示:

  爲用戶設置版本庫的讀/寫權限,選擇其中某個版本庫—>右鍵屬性,彈出權限設置窗口

  如圖所示:

  選擇組或用戶設置讀/寫權限,建議刪除默認的Everyone的讀寫權限

5、SVN客戶使用

  軟件開發團體的一員就是SVN的一個客戶,所以SVN客戶端的使用顯得十分重要,主要操做包括import、check out、add 、commit、update

具體操做以下:

5.1 import入庫操做

5.2 簽出操做

5.3 提交添加新文件

5.4 提交文件更新(修改、刪除的文件)

5.5 更新操做(將SVN服務器中全部版本變化更新到本地)

5.6 版本衝突的相關操做

5.7 避免衝突方法——加鎖文件

5.8 版本還原

5.1 import入庫操做

   將初始的項目(項目目錄結構、接口、通用組件、靜態頁面等)導入版本庫,操做如圖:

  執行import命令彈出import對話框,圖中Import對話框與Visaul SVN Server窗口

  在URL of repository中輸入或選擇URL(對應版本庫中的資源),注意URL所對應版本庫中的資源的必須存在(如上圖所示),若不存在要首先在VisualSVN中建立(或使用命令方式svnadmin create c:\ Repositories\mycrm),建立成功後c:\ Repositories\mycrm

  產生一些版本庫相關的系統文件和目錄,以下所示:

  單擊import對話框的ok按鈕,按提示輸入用戶名和密碼(指在SVN Server設置的帳戶和密碼,可勾選Save authentication之後再也不提示),完成後在VisualSVN Server可看到

  這表示你的項目已入庫,處於SVN版本控制中

5.2 簽出操做

  有兩種方式check out 和 export,區別在於:

    ① export 方式僅僅是將版本庫的文件拷貝到本地而已。

    ② check out 方式得到文件後,本地文件仍處於SVN版本控制中,這一點很重要。這也是主要的一種方式

  在本地目錄下,單擊右鍵選擇菜單命令,如圖所示

 

  執行Check out 彈出對話框,如圖所示

 

  URL of repository指你要導出的版本庫,Checkout Directory設定存儲的本地目錄,單擊Ok,導出完成後可看SVN服務器版本庫中文件已遷出到指定的本地目錄下,而且多出.svn目錄這個表示該本地目錄是受SVN服務器版本化控制的,圖標表示文件或目錄處於正常狀態

5.3 提交添加新文件

  在項目中增長一個新文件,例如在crm項目中添加一個login.html文件,新增的文件的圖標爲,表示該文件沒有入庫SVN服務器沒法識別,選擇該文件單擊鼠標右鍵執行add命令,將文件入庫如圖所示

  此時文件圖標變爲表示該文件已入庫但還未更新,而後執行svn commit命令,從而完成新文件的版本化處理,如圖所示

5.4 提交文件更新(修改、刪除的文件)

  操做和添加新文件相似,實際上對於本地變化的文件(包括添加、修改、刪除的文件)都是執行svn commit命令提交給到SVN服務器完成版本化處理(該版本號會遞增)。只不過對於新增文件須要先執行add命令讓SVN服務器識別該文件,表示該文件內容發生變化,可經過菜單show Log命令查看版本的變化,如圖所示

  能夠看到新增login.html版本號爲2。

5.5 更新操做(將SVN服務器中全部版本變化更新到本地)

  對於其餘用戶(指不是提交變化的用戶),可執行SVN update命令完成將SVN服務器發生版本變化的文件更新到本地

  如圖所示:

  一般咱們(記住每一個人就是SVN的本地客戶)在工做時,會不斷執行SVN Update命令以獲取SVN服務器中最新的文件,從而得到其餘人的變動。這也是做爲一個項目版本管理軟件最重要的功能之一——及時通知項目的變動

5.6 版本衝突的相關操做

  衝突是指團隊協同工做時,當多人修改同一個文件,形成本地文件與SVN系統中的文件版本不一致,而致使文件沒法提交的狀況。例如:user01對temp.txt文件進行編輯

添加「User01的數據信息」,User02也對temp.txt文件進行修改添加「User02的數據信息」,User01完成後執行SVN Commit,這時User02在執行SVN Commit提交就會產生衝突而提交失敗,如圖所示

  這時(遇到衝突時)須要執行SVN Update更新這個文件,產生如圖所示的信息框

  而且會看到新增了三個文件

  原文件的圖標變爲表示內容含有衝突

    temp.txt.mine(格式:衝突文件名.擴展名.mine)記錄了你的文件名內容

    temp.txt.r7(格式:衝突文件名.擴展名.r版本號)記錄了當前版本的上一個版本內容

    temp.txt.r8(格式:衝突文件名.擴展名.r版本號)記錄了當前版本的內容

  接下來就是如何解決文件中的衝突,你能夠選擇如下方式解決衝突 

 

  5.6.一、手動合併衝突文件

  打開temp.txt能夠看到

  說明:<<<<<.mine到 >>>>>.r8之間的就是衝突的部分,======以前的是你的內容,=====以後的是當前版本的內容可根據狀況進行取捨,而後刪除註釋符號並刪除新增的新增了三個文件,而後再提交就OK了!

  5.6.二、執行Edit conficts命令解決衝突,如圖所示

  而後彈出以下窗口

  可明顯看出第2行衝突,操做以下:

 

  一、  首先選擇衝突行

  二、單擊工具欄按鈕

    單擊按鈕:

    單擊按鈕:

    單擊按鈕:

    單擊按鈕:

  單擊保存會看到新增的三個文件已自動被刪除(若是仍存在手動刪除便可),這時再執行SVN Commit也OK了!

  5.6.3執行revert命令放棄所作的修改,如圖所示

  該命令會自動用當前版本替換你的變化,並刪除三個新增文件

5.7 避免衝突方法——加鎖文件

  多人同時操做同一個文件是產生衝突的根本緣由。

  爲了減小衝突的發生避免一些沒必要要的麻煩,一般在變動文件以前執對該文件行一次SVN Update操做,但這樣衝突仍是會發生的,一個比較有效的方法是對文件加鎖。其原理很簡單在對文件變動以前先對文件上鎖,這是有兩種可能若文件有鎖(代表有人在編輯)加鎖失敗,若文件沒有鎖則加鎖成功。一個文件上鎖後除了本身別人是不能對文件編輯的,當咱們編輯完成以後再解鎖,而後別人就能夠加鎖編輯了。這樣就有效的避免了多人同時操做同一個文件時產生衝突

  5.7.1加鎖

  執行Get Lock…命令,操做以下:

  5.7.2 解鎖

  對已加鎖的文件執行Release lock命令,如圖所示:

5.8 版本還原

  在開發中有時咱們但願將文件的變動恢復到以前某個版本,這也是一個項目管理軟件必備的功能,對於SVN執行Update to revision.. 命令便可

  好比咱們把temp.txt恢復到最初的狀態,目前文件的內容以下圖所示:

  咱們能夠先執行Show log查看temp.txt的版本信息如圖所示

  可看出最初添加的文件的版本號18(不是2說明該文件被刪除過,而後又被從新建立),而後執行Update to revision..命令,如圖所示:

  單擊Ok按鈕,完成後打開temp.txt文件能夠看到文件已恢復到初始的內容了

6、Eclipse SVN客戶端插件安裝

  Eclipse也提供了對SVN支持,但我我的感受Eclipse提供的SVN客戶端插件,不如TortoiseSVN好用,但Eclipse是咱們開發的環境,所以建議兩個結合起來應用。對於Eclipse提供的SVN客戶端的使用同TortoiseSVN差很少,這裏重點介紹一下在MyEclipse安裝SVN客戶端插件,站點地址:http://subclipse.tigris.org/

詳細步驟以下:

6.1 安裝

6.2 從SVN服務器導入項目

6.3 提交文件更新

6.4 更新操做(將SVN服務器中全部版本發生變化的更新到本地)

6.1 安裝

  具體操做:

  Step 1:選擇Help——>SoftwareUpdates——>add/Remove Soft

  單擊ADD按鈕,彈出以下窗口

  Step 2:單擊Add Site,

  在彈出的對話框中輸入URL: http://subclipse.tigris.org/update_1.6.x,單擊Ok便可

  Step 3:選擇內容一路Next便可

6.2 從SVN服務器導入項目

  具體操做:

  打開eclipse ,選File——>import——>選SVN,如圖所示:

  在URL中輸入:版本庫的路徑好比https://jb:8433/svn/mycrm ,單擊完成便可

6.3 提交文件更新

  選擇文件單擊右鍵,選擇team提交,便可 

6.4 更新操做(將SVN服務器中全部版本發生變化的更新到本地)

  選擇文件或目錄單擊右鍵,選擇team-à更新,便可。

相關文章
相關標籤/搜索