使用Subversion版本控制工具

第一步:下載Subversion

CollabNetSubversion-server-1.8.5-1-Win32.exe    點擊exe文件

1)安裝時,會出現兩個組件 SVNSERVER  Apache ,前者是Subversion的服務器,而Apache是可選的。

2)svn_repository是初始的資源庫,可以隨意指定一個文件夾  , 最後選擇SVN軟件安裝路徑


3)創建資源庫(Respository)

C:\Users\Administrator>svnadmin create F:\SVN\svn_repository

其中svnadmin是svn的管理命令,create表示創建資源庫,而 F:\SVN\svn_repository 表示資源庫所在文件夾路徑

4)設置訪問用戶

在 conf\passwd 文件夾中,最後增加一行代碼 wanhao = 123456

即"用戶名=密碼"方式

5)配置認證和授權文件

svn_repository\conf\svnserver.conf 文件取消 password-db=passwd 這一行前面的 '#'。(注意,這一行前面一定不能留空格!

6)啓動SVN服務

  svnserve -d -r F:\SVN\svn_repository

  svnserve 是SVN服務管理的命令  -d 表示該服務是由守護線程啓動的(也叫後臺線程) ,-r F:\SVN\svn_repository 表示啓動資源庫所在的根目錄。

只要不關閉命令行窗口,SVN的服務就一直存在。


第二步使用Subversion 客戶端 TortoiseSVN

1)下載   TortoiseSVN-1.8.5.25224-x64-svn-1.8.8.msi 

直接雙擊,安裝的位置可以改變,然後全部使用默認的配置。

安裝完畢後,需要重啓一下電腦。

在任意文件夾下點擊右鍵就可以使用TortoiseSVN菜單了。

2)瀏覽資源庫(先確保啓動了服務器端Subversion服務)

在快捷菜單中選擇 TortoiseSVN|Repo-browser 將彈出輸入資源庫地址的對話框。

輸入URL  svn://localhost/   svn就是訪問SVN服務器的協議,localhost爲服務器的地址。若是服務器在局域網中,也可以設置局域網的IP地址。若是裝了Apache服務器,則可以通過 http://  訪問。


左側爲資源庫中所有文件,右側是文件夾和文件夾的詳細信息,可以通過左側來瀏覽資源庫中各個文件。

3)在資源庫中增加文件夾

在跟路徑下創建三個文件夾  trunk目錄  branches目錄  tags目錄

trunk目錄:程序的主目錄,通常源代碼的一些文件會保存在這裏。

branches目錄:保存的是主程序的分支文件,比如同一個軟件,可能出現分支開發的情況,可以把分支代碼放在這裏。

tags目錄:保存的是源代碼每個版本的備份,比如當軟件版本從version1.0到version2.0時,需要有一份代碼的備份,以備未來能夠隨時找回原來的版本。

4)導入文件到資源庫(import)

選中一個文件夾,右鍵TortoiseSVN  import ,  便會把這個文件導入到項目中了。被導入的文件便成了共享文件,其他用戶(你賦予權限的用戶)便可以通過客戶端獲得這些共享文件了。

注意,URL of respository 應該填寫具體路徑 如 :     svn://localhost/trunk/GreatHomeWork

5)從資源庫中遷出(check out)

先要建立一個與待遷出文件同名文件夾GreatHomeWork  在此文件夾上右鍵SVN Checkout 


點擊OK,完成遷出。

發現遷出的文件夾和文件都使用了帶有對勾的綠色圖標,表示從SVN中遷出的,並不僅僅是文件的備份。

6)更新(update)-修改-提交(commit)

一個用戶把項目導出,更改了部分內容,修改完提交。與此同時,另一位朋友也在修改項目,就會發生衝突。但是這樣做效率得到提高,一般都使用這種方式。

先點擊導出的項目,右鍵 SVN Update ,更新資源庫。這樣可以保證在修改之前使用的是最新的版本。

更新的文件遊玉友不同的更新類型,所以會使用不同的顏色標識。

紫色:資源庫中新建的文件。

深紅色:資源庫中的是一個刪除或替換的文件。

綠色:資源庫中與本地的文件的合併。

紅色:資源庫中的文件與本地的文件有衝突,需要解決衝突。

黑色:其它的默認文件。

紅色表示有衝突的文件,需要自行查找。

新建文件,然後 TortoiseSVN|Add 選項。客戶端便會認爲這是一個新建的文件,但注意到此時並沒有真正添加到資源庫中。

刪除文件,選中待刪除的文件,TortoiseSVN|Delete 命令。

修改文件,修改後的文件,會使用一個紅色的圓點標註,這樣便可以看到每個文件與資源庫文件的狀態了。

在未提交之前,用戶所有的操作都只是針對本地的操作,而並沒有真正地更新到資源庫中。

一旦完成修改,用戶要儘早提交,這樣可以儘量避免衝突。

提交右鍵SVN Commit...  ,然後會彈出一個Check確認對話框,在這個對話框中,選中的爲打算提交的,沒選中的爲不提交的。


7)鎖定(lock)-修改-提交-解鎖

鎖定:選中待鎖定的文件夾,右鍵TortoiseSVN|Get Lock命令。

被鎖定的文件,只有被解鎖,其他的用戶纔會繼續修改這個文件。

解鎖:選中已經鎖定的文件 , 右鍵TortoiseSVN|Release lock 命令。

文件被鎖定的過程中,其他的用戶不知道文件已被鎖定,只有當其他用戶提交時纔會知道被鎖定。所以爲了避免其他用戶修改一個已經被鎖定的文件,用戶應當儘量多執行Update操作,這樣才能獲取到最新資源庫中的文件狀態。


8)異常處理

有兩個人同時修改了文件,第一人先提交,第二人提交便會發生錯誤。因爲提交時已經不是最新版本了,需要提交之前Update一下。

一旦發生衝突,SVN會在衝突的文件中這樣標註:

<<<<<<< .mine
#這是我做的修改=======
#這是我爲sceond做的修改>>>>>>> .r11
========前的內容是用戶自己修改的,後面的爲版本庫中已經有的。

同時,會在衝突的文件下自動生成三個文件

以下的 “。” 實際指 “.” ,爲了使其更明顯

1. 衝突的文件名。衝突的文件類型。mine                           裏面放着第二個人已經修改過的文件。

2. 衝突的文件名。衝突的文件類型。更新備份前的基礎版本      這就是兩個人修改之前的文件。

3. 衝突的文件名。衝突的文件類型。第一個人更新後存在版本庫的文件                                  也就是第一個人修改完的文件。     

比如我第二次修改了log4j.properties commit發生錯誤。mine表示第二個人修改後的文件   r12表示最開始的文件    r13即代表版本庫最新的文件。

    

解決衝突的辦法:

選中第二個人已經修改的文件(版本最新的文件)和我(.mine)的文件, TortoriseSVN | Diff 命令。


此時會彈出 TortoiseMerge 工具,把兩個文件不一致的地方顯示出來,然後便可以找出衝突的原因。

可以手動修改合併衝突的文件,然後設置爲已解決(Resolved),然後便允許提交。

或者將衝突的文件恢復(Revert)到最新版本,然後在最新版本的基礎上將解決衝突後的代碼放進去,然後提交。但需注意,更新本地文件版本時,本地的修改會丟失,所以要事先備份下文件。

注:更新(Update)與恢復(Revert)都是從資源庫中獲得最新版本,但他們之間最大不同是恢復不會保存本地的修改,所以要慎用。


some tips:

查看修改日誌,在要修改的文件上右鍵  TortoiseSVN|Show log ,便可以查看修改日誌了。

建議每次上傳都寫上log,對他人,對自己都有好處,也就耽誤自己1分鐘時間。

可以比較日誌,同時選中兩個日誌記錄,Compare revisions

恢復到以前版本,在要恢復的文件上右擊,選擇Update to revision ,然後便可以選擇自己想要恢復的版本號進行恢復。

設置功能,任選一個文件,右鍵 TortoiseSVN|Settings 命令。


與MyEclipse集成

1.下載 site-1.10.9.zip ,然後解壓到 MyEclipse 10\dropins 重啓myeclipse即可。

2.切換視圖到 SVN Repository Exploring 。

3.將myeclipse中的項目與資源庫中的文件同步。

①  File ->New ->Other->SVN->Checkout Projects From SVN

②選擇之前創建過的資源庫,並選擇資源庫中的項目名,單擊Finish

③然後便可以使用Subclipse其他的客戶端功能了。比如提交,右鍵點擊項目,選中team,commit等。



發佈了334 篇原創文章 · 獲贊 37 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章