TortoiseSVN 是 Subversion 版本控制系統的一個免費開源客戶端,能夠超越時間的管理文件和目錄。html
下載地址:https://tortoisesvn.net/downloads.html, 頁面裏有語言包補丁的下載連接。svn
目前最新版爲 1.11.0 下載地址: https://osdn.net/projects/tortoisesvn/storage/1.11.0/測試
在語言補丁包中咱們能夠找到中文的補丁並下載下來:spa
運行下載的 TortoiseSVN 安裝程序.net
運行下載的 TortoiseSVN 中文語言包版本控制
正確安裝後,應該進行一次的重開機,以確保 TortoiseSVN 的正確無誤。日誌
修改 TortoiseSVN 默認語言htm
TortoiseSVN 安裝完後默認的界面是英文的,咱們能夠經過設置修改爲已安裝語言教程
所謂的 runoob01 目錄其實就是您日常用來存放工做檔案的地方。一般咱們會等到本身的工做作的一個段落的時候再進行備份。因此咱們日常都是在 runoob01 目錄下面工做,等到適當時機在 commit 到 repository 中。舉例來講,咱們想在 D 盤下面創建一個名爲 runoob01 的目錄。首先先把這個目錄創建出來。開發
進入建立的目錄在空白處按下右鍵後(您能夠在 MyWork 目錄的 icon 上按,也可進入 MyWork 目錄後,在空白的地方按),選擇 SVN checkout。
接着您能夠看到以下的畫面:
首先咱們要填入的是 repository(版本庫)的位置,對於 SVN 來講,repository 的位置都是 URL。版本庫 URL 這裏填入咱們測試的版本倉庫地址 svn://10.0.4.17/runoob01。
接着,稍微看一下 Checkout directory(檢出至目錄),這個字段應該要指向您的 runoob01 目錄。
確認後,按下 OK 按鈕,您應該能夠看到以下的訊息窗口。
這樣就表示動做完成。按下 OK 按鈕後,再到您剛剛創建的目錄下。您將會看到 MyWork 目錄下面多了一個名爲 .svn 的目錄(這個目錄是隱藏的,若是您的檔案管理員沒有設定能夠看到隱藏目錄,您將沒法看到它) 。
若是您要在一個已經存在的 SVN Server 上面 checkout 出上面的檔案,您只須要給定正確的 SVN URL 以及要 checkout 目錄的名稱。就能夠取得指定的檔案及目錄了。
建立目錄 dir01, 在目錄裏新增文件
將新增的文件加入到 SVN 版本控制中,TortoiseSVN 會把準備要加入的檔案及目錄,勾選須要加入的文件。
按下 OK 後,您將會看到以下的訊息窗口:
這個 Add(增長)的動做並未真正的將檔案放到 Repository 中。僅僅是告知 SVN 準備要在 Repository 中放入這些檔案。 此時的文件狀態爲:
這些檔案真正的放入到 Repository 中,空白處右鍵選擇 SVN commit(提交) 緊接着,您將會看到以下的窗口出現:
在這裏能夠清楚地瞭解到哪些檔案要被 commit 到 repository(版本庫)中。一樣的,若是您有檔案不想在這個時候 commit 到 Repository,您能夠取消選取的檔案,這樣他們就不會被 commit 到 Repository 中。在"信息"文本框中能夠寫入對本次 commit 的說明。
點擊"確認"後完成 commit 動做,而後您能夠到 runoob 目錄中,肯定是否全部的檔案 icon 都有以下的綠色勾勾在上面,這樣表明您的檔案都正確無誤的到 repository 中。
因爲版本控制系統多半都是由許多人共同使用。因此,一樣的檔案可能還有人會去進行編輯。爲了確保您工做目錄中的檔案與 Repository 中的檔案是同步的。建議您在編輯前都先進行更新的動做。
在想要更新的檔案或目錄 icon 上面按下鼠標右鍵。而且選擇 SVN Update。
有時咱們須要回溯至特定的日期或是版本,這時就能夠利用 SVN 的 Update to revision 的功能。在想要更新的檔案或目錄 icon 上面按下鼠標右鍵。而且選擇 TortoiseSVN->Update to revision(更新至版本)。
不少時候您會但願有另一個複製的目錄來進行新的編修。等到肯定這個分支的修改已經完畢了,再合併到原來的主要開發版本上。舉例來講,咱們目前在runoob01/trunk下面有以下的目錄及檔案:
如今,咱們要爲 trunk 這個目錄創建一個 branch。假設咱們但願這個目錄是在 D:\runoob01\branch。首先咱們能夠在 trunk 目錄下面的空白處,或是直接在 trunk 的 icon 下面按下鼠標右鍵選擇 Branch/Tag…(分支/標記)這個選項,您將會看到以下的對話框出現。
請先確認 From WC at URL(從工做副本/URL): 中的目錄是您要複製的來源目錄。接着,在 To URL(至路徑)中輸入您要複製過去的路徑。一般咱們會將全部的 branch 集中在一個目錄下面。以上面的例子來講,branch 檔案都會集中在 branch 的子目錄下面。在 To URL 中您只須要輸入您要的目錄便可。目錄不存在時,會由 SVN 幫您創建。特別須要注意的是 SVN 由於斜線做爲目錄分隔字符,而非反斜線。 接着在 Log message(日誌信息)輸入您這次 branch 的目的爲什麼。按下 OK 就能夠了。
若是成功,將能夠看到下面的畫面:
按下 OK 就能夠關閉這個窗口了。若是您此時馬上去 runoob01 目錄的 branch 子目錄下面,您將會失望的發如今該目錄下面並無剛剛指定的目錄存在。這是由於您 runoob01 目錄的部份仍是舊的,您只須要在 branch 子目錄下面進行 SVN update 就能夠看到這個新增的目錄了。新增的目錄就與原來的目錄無關了。您能夠任意對他進行編輯,一直到您確認好全部在 branch 下面該作的工做都完成後,您能夠選擇將這個 branch merge 回原來的 trunk 目錄,或者是保留它在 branch 中。
假如咱們在 branch 分支中對文件進行了修改或增長了文件,要 merge 回 trunk 目錄中,方法很簡單。以上面的例子來講,咱們在 D:\runoob01\trunk目錄空白處,按下鼠標右鍵,選擇 Merge(合併):
這個畫面主要分爲三個部份,前面的 From: 與 To: 是要問您打算從 Branch 中的哪一個版本到哪一個版本,merge 回原來的 trunk 目錄中。所以,From 跟 To 的 URL 字段應當都是指定原來 branch 的目錄下。剩下的就是指定要 merge 的 revision 範圍。以上面的例子而言,咱們從 Branch 的 Revision 7 開始 merge 到 Branch 下面的最新版本。您能夠透過,Dry run 按鈕,試做一次 Merge。這個 merge 只會顯示一些訊息,不會真正的更新到 trunk 的目錄去。只有按下 Merge 按鈕後,纔會真正的將 branch 的檔案與 trunk 的檔案合併起來。
若是您確認此次的 merge 沒有問題,您能夠直接使用 commit 來將這兩個被修改的檔案 commit 回 SVN repository 上。若是有問題,您能夠直接修改這兩個檔案,直到確認 ok 了,再行 commit。
所謂的 Tag 或是 Release 就是一個特別的版本,由於這個版本可能有特別的意義。例如:這個版本是特別的 Milestone 或是 release 給客戶的版本。其實,Tag 與 Release 的做法與 Branch 徹底相同。只是 Branch 可能會須要 merge 回原來的 trunk 中,而 tag 及 release 大部分都不須要 merge 回 trunk 中。
舉例來講,今天咱們的 trunk 作了一版,這個版本被認定是軟件的 1.0 版。 1.0版對於開發來講是一個很是重要的里程碑。因此咱們要特別爲他作一個標記,亦即 Tag。假設,這個 1.0 版是要正式 release 給客戶或是相關 vendor,咱們要能夠爲他作一個 Release 的標記。基本上,SVN 只有目錄的概念,並無什麼 Tag 的用法。因此您會看到在 SVN 的選單上面,Branch 與 Tag 是同一個項目。以這個 1.0 的例子來講,咱們在 runoob01 目錄下建立 tags 目錄用於存放打 tag 的版本,並提交到版本庫,而後在 Trunk 上面,按下鼠標右鍵,選擇 Branch/Tag 的項目:
成功的話,您就在對應的 Tag 目錄下面創建了一個 v1.0 的目錄。固然,若是您這時到 Tag 的目錄下面去,會看不到這個目錄,您須要在 Tag 目錄下面 update 一下,才能看到它。