Tortoises SVN 教程

y_keven發表於2013-08-20

1.  TortoiseSVN 簡介

版本控制是管理資訊修改的藝術,它一直是程式設計師最重要的工具,程式設計師經常會花時間作出小的修改,然後又在某一天取消了這些修改,想象一下一個開發者並行工作的團隊 - 或許是同時工作在同一個檔案!- 你就會明白為什麼一個好的系統需要管理潛在的混亂。

2.  什麼是 TortoiseSVN

 TortoiseSVN 是 Subversion 版本控制系統的一個免費開源客戶端,可以超越時間的管理檔案和目錄。檔案儲存在中央版本庫,除了能記住檔案和目錄的每次修改以外,版本庫非常像普通的檔案伺服器。你可以將檔案恢復到過去的版本,並且可以通過檢查歷史知道資料做了哪些修改,誰做的修改。這就是為什麼許多人將Subversion 和版本控制系統看作一種“時間機器”。

某些版本控制系統也是軟體配置管理(SCM)系統,這種系統經過精巧的設計,專門用來管理原始碼樹,並且具備許多與軟體開發有關的特性 - 比如,對程式語言的支援,或者提供程式構建工具。不過 Subversion 並不是這樣的系統;它是一個通用系統,可以管理任何型別的檔案集,包括原始碼。

 3.  名詞解釋

 3.1 檢出工作副本

 你的版本庫就像是一臺時間機器,它記錄了所有提交的修改,允許你檢查檔案或目錄以及相關後設資料的歷史。通過一個Subversion 命令你可以根據時間或修訂號取出一個過去的版本(或者恢復現在的工作拷貝),然而,有時候我們只是想看看歷史而不想回到歷史

 3.2 提交修改

 可以理解為上傳修改檔案的記錄,就是把工作副本里面修改過的檔案的記錄上傳到版本庫裡面。

3.3 更新工作副本

 可以理解為下載最新版本庫檔案的記錄,就是把版本庫裡面最新上傳的檔案記錄下載到工作副本里面。

3.4 鎖定—修改—解鎖

 許多版本控制系統使用“鎖定—修改—解鎖”機制解決這種問題,在這樣的模型裡,在一個時間段版本庫的一個檔案只允許被一個人修改。首先在修改之前,Harry 要“鎖定”住這個檔案,鎖定很像是從圖書館借一本書,如果Harry 鎖住這個檔案,Sally 不能做任何修改,如果Sally 想請求得到一個鎖,版本庫會拒絕這個請求。Harry 結束編輯並且放開這個鎖之前,她只可以閱讀檔案。Harry 解鎖後,就要換班了,Sally 得到自己的輪換位置,鎖定並且開始編輯這個檔案。

4.  TortoiseSVN 安裝

安裝TortoiseSVN 軟體,滑鼠左鍵雙擊”TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi”,如圖所示進行安裝。

出現提示,重新啟動計算機安裝完畢。

注:如果有需要使用中文版可以加裝中文語言包,以下是以中文介面作為操作說明。

5.  安裝TortoiseSVN遇到問題解決方法

安裝TortoiseSVN 不成功出現錯誤提示“Service "VisualSVNServer" failed to start. Verifythat you have sufficient privileges to start system services.”,解決方法:這是Windows Installer 的問題,重新安裝Windows Installer 即可,如有安裝問題請與管理員聯絡。 

6.  TortoiseSVN 使用

6.1 檢出工作副本

大多數時候,你會使用 檢出 從版本庫取出一個新拷貝開始使用Subversion,這樣會在本機建立一個專案的“本地拷貝”。選擇一個存放工作副本目錄。右鍵點選彈出右鍵選單,選擇“SVN 檢出 …”

注:你首先要檢出主線(trunk),這樣版本庫才知道你要接受管理的程式在磁碟哪個目錄。看上去什麼都沒有發生,但實際上這個操作讓版本庫把你的專案目錄納入管理了在你硬碟的適當的位置(例:e:\yfb),目標資料夾點選右鍵,選擇SVN  檢出…”

然後就會彈出一個  檢出 選項對話方塊,輸入遠端專案目錄和本地工作目錄,例:Ft-llb 伺服器的svn 目錄下的yfb 版本庫,遠端專案地址為:https://ft-llb/svn/yfb/

點選確認,就會彈出一個遠端伺服器要求驗證的對話方塊,輸入正確的使用者名稱和密碼。

檢出成功後,會在“檢出”目錄出現綠色小勾,“檢出”根目錄也會出現.svn 隱藏目錄。

6.2 提交修改  

 將你對工作副本的修改傳送給版本庫,稱為提交修改。但在你提交之前確保你的工作副本是最新的。你可以直接使用 Svn 更新,或者,你可以先使用“TortoiseSVN --> 檢查修改”看看哪些檔案在本地或是伺服器上已經有了改動。

如果你的工作副本是最新的,並且沒有衝突,你就已經為提交做好準備了,選擇你要的檔案和/或資料夾,然後“svn 提交 ......”

在你做了修改之後,你可以在專案資料夾下點選右鍵或者你修改的檔案下點選右鍵,選擇“SVN 提交…”,這兩者的區別在於,第一個可以一次提交你所做所有檔案的修改,而第二個只是提交你所選的檔案。

點選 Svn 提交 之後,就會彈出一個讓你輸入更改 “日誌” 的對話方塊:

輸入你所作的修改,然後點選 確認,就會開始向遠端伺服器提交修改。

提交檔案成功!返回資訊!“完畢!”表示檔案已成功提交。點選“確認”按鈕確定更新檔案成功。

6.3 更新工作副本  

更新多個專案在Subversion 還不是原子操作,所以TortoiseSVN會首先找到版本庫的HEAD修訂版本,然後將所有專案更新到特定修訂版本,防止出現混合修訂版本的工作副本。如果只有一個專案被選中更新,或選中的專案來自不同的版本庫,TortoiseSVN 只會更新到HEAD。

在工作副本里面選定資料夾或檔案,右鍵選單 Svn更新。

出現一個對話方塊,輸入正確的使用者名稱和密碼即可向版本庫提交你想更新檔案的資訊。

更新檔案成功!返回資訊!“Completed”表示檔案已成功更新;“於版本:17表示更新檔案版本號為3。點選“確認”按鈕確定更新檔案成功。

6.4 鎖定  

選擇工作副本中你想要獲取鎖定的檔案,然後選擇命令“TortoiseSVN --> 獲取鎖定…”

出現一個對話方塊,允許你輸入註釋,這樣別人知道你為什麼鎖定這個檔案。註釋是可選的,並且只用於基於Subversion 的庫。選擇需要鎖定的檔案在核取方塊打勾,點選“確定”按鈕鎖定選擇的檔案。

出現一個對話方塊,輸入正確的使用者名稱和密碼即可向版本庫提交你想鎖定檔案的資訊。

鎖定檔案成功!返回資訊!“被llb鎖定”表示檔案已被llb 使用者鎖定;“E:\yfb\liulebin\fdsf.txt”表示鎖定檔案的名稱。點選“確認”按鈕確定鎖定檔案成功。

6.5 釋放鎖定(取消鎖定)  

選擇工作副本中你想要取消鎖定的檔案,然後選擇命令“TortoiseSVN ---> 釋放鎖定…”

出現一個對話方塊,選擇需要取消鎖定的檔案在核取方塊裡打勾,點選“確定”按鈕。

出現一個對話方塊,輸入正確的使用者名稱和密碼即可向版本庫提交你想取消鎖定檔案的資訊。

取消鎖定檔案成功!返回資訊!“已解觸鎖定!”表示檔案已被解除鎖定;“E:\yfb\liulebin\fdsf.txt”表示釋放鎖定檔案的名稱。點選“確認”按鈕確定鎖定檔案成功。

7.  其它功能  

 7.1 網頁瀏覽

 你可以使用該地址 https://ft-llb/svn/yfb/在網頁上瀏覽專案,同樣需要和前面一樣的使用者名稱、密碼。

7.2 SVN還原 

取消上一次的操作(只針對客戶端,服務端不做改動)

7.3 版本庫瀏覽

7.4 版本示意圖 

7.5 顯示日誌

 檢視版本日誌及不同版本間相互比較

7.6 檢查修改

同伺服器上的專案版本進行比較,並可做相應的修改。

8. 小技巧  

工作副本下.svn 目錄被刪除了怎麼辦?

工作拷貝中的任何一個目錄包括一個名為.svn 管理區域,通常列表操作不顯示這個目錄,但它仍然是一個非常重要的目錄,無論你做什麼?不要刪除或是更改這個管理區域的任何東西,Subversion 使用它來管理工作拷貝。

如果你不小心刪除了子目錄.svn,最簡單的解決辦法是刪除包含的目錄(普通的檔案系統刪除,而不是svn delete),然後在父目錄執行svn svn 更新,Subversion 客戶端會重新下載你刪除的目錄,幷包含新的.svn。

附:

這裡只是簡單介紹了些svn的搭建和使用,具體的使用請參考:
svn 手冊:http://www.subversion.org.cn/svnbook/
TortoiseSVN 文件:http://www.subversion.org.cn/tsvndoc/

原文地址:http://www.open-open.com/lib//view/open1349766204697.html

相關文章