TortoiseSvn介紹
TortoiseSvn 是 Subversion 版本控制系統的一個(gè)免費開(kāi)源客戶(hù)端,可以超越時(shí)間的管理文件和目錄。文件保存在中央版本庫,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件服務(wù)器。你可以將文件恢復到過(guò)去的版本,并且可以通過(guò)檢查歷史知道數據做了哪些修改,誰(shuí)做的修改。這就是為什么許多人將 Subversion 和版本控制系統看作一種“時(shí)間機器”。
TortoiseSvn安裝過(guò)程
下載后,運行 TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi 程序,點(diǎn)擊Next,下面的截圖順序即為安裝步驟:
【步驟1】 安裝界面見(jiàn)圖。

【步驟2】選擇安裝地址,見(jiàn)圖。

【步驟3】安裝成功,見(jiàn)圖

(點(diǎn)擊Finish按鈕后會(huì )提示重啟系統,就算不提示重啟也一定要手動(dòng)重啟,不然添加到代碼庫里的文件夾或文件就不會(huì )顯示圖標)
卸載完的時(shí)候也需要重啟系統
TortoiseSvn配置和使用方法
前面我已經(jīng)講解了怎樣安裝TortoiseSVN。在系列三講解中已經(jīng)講了怎么使用VisualSVN Server了,下面是TortoiseSVN的簡(jiǎn)單使用方法。
安裝了LanguagePack_1.6.5.16974-win32-zh_CN之后打開(kāi)TortoiseSvn的設置界面選擇中文語(yǔ)言,見(jiàn)下圖

簽入源代碼到SVN服務(wù)器
【步驟1】簽入文件操作,連接SVN服務(wù)器
假如我們使用Visual Studio在文件夾StartKit中創(chuàng )建了一個(gè)項目,我們要把這個(gè)項目的源代碼簽入到VisualSVN Server上的代碼庫中里,首先右鍵點(diǎn)擊StartKit文件夾,導入文件夾
這時(shí)候的右鍵菜單如下圖所示:

【步驟2】簽入新的項目文件
點(diǎn)擊Import,彈出下面的窗體,見(jiàn)下圖其中https://10.3.2.150是服務(wù)器名,svn是代碼倉庫的根目錄,StartKit是我們在系列三中添加的一個(gè)代碼庫:
【注意】
左下角的CheckBox(包括忽略文件),在第一次簽入源代碼時(shí)沒(méi)有用,但是,在以后你提交代碼的時(shí)候是非常有用的。

點(diǎn)擊OK按鈕,會(huì )彈出下面的窗體,見(jiàn)下圖要求輸入憑據:

在上面的窗體中輸入用戶(hù)名和密碼,點(diǎn)擊OK按鈕,如下圖所示。

如上圖所示,好了,源代碼已經(jīng)成功簽入VisualSVN Server服務(wù)器了。這時(shí)候團隊成員就可以遷出VisualSVN Server服務(wù)器上的源代碼到自己的機器了。
簽出源代碼到本機
在本機創(chuàng )建文件夾StartKit,右鍵點(diǎn)擊Checkout,彈出如下圖的窗體,如下圖

在上圖中URL of Repository:下的文本框中輸入VisualSVN Server中的代碼庫的地址,其他默認,點(diǎn)擊OK按鈕,就開(kāi)始簽出源代碼了。
【注意】
上圖中的Checkout Depth(簽出深度),有4個(gè)選項,分別是遷出全部、只簽出下一級子目錄和文件、只簽出文件、只簽出空項目,默認的是第一項。
上面的例子中,我們也可以使用web的方式訪(fǎng)問(wèn)代碼庫,在瀏覽器中輸入http://10.3.2.150/svn/StartKit/ ,這時(shí)候也會(huì )彈出對話(huà)框,要求輸入用戶(hù)名和密碼,通過(guò)驗證后即可瀏覽代碼庫中的內容。
搞定!源代碼已經(jīng)成功簽出到剛才新建的StartKit目錄中。打開(kāi)StartKit目錄,可以看到如下圖的文件夾結構如下圖所示

一旦你對文件或文件夾做了任何修改,那么文件或文件夾的顯示圖片就會(huì )發(fā)生變化。
下圖中我修改了其中的二個(gè)文件如下圖所示。

大家看一下不同狀態(tài)所對應的圖片如下圖所示。

我們已經(jīng)知道怎么將源代碼簽入到VisualSVN Server服務(wù)器,怎么從服務(wù)器簽出代碼到本機,也簡(jiǎn)單了解了不同狀態(tài)所對應的圖案啦。
提交修改過(guò)的文件到VisualSVN Server服務(wù)器
上面的圖中,我修改了位于StartTest文件中的二個(gè)文件Main.cpp和StartTest.cpp,下面演示如何提交到VisualSVN Server服務(wù)器。
【注意】提交源代碼到服務(wù)器時(shí),一定確保本機的代碼是最新版本,否則可能提交失敗,或者造成版本沖突(conflict)。
在StartTest文件夾上點(diǎn)擊右鍵或在StartTest文件下的空白處點(diǎn)擊右鍵,點(diǎn)擊SVN Commit…彈出下面的窗體如下圖所示。

點(diǎn)擊OK按鈕后,彈出如下圖的窗體,

添加新文件到VisualSVN Server服務(wù)器
我們在StartKit文件下添加一個(gè)新的類(lèi)文件a.cpp,狀態(tài)為non-version狀態(tài),在StartKit文件下的空白處點(diǎn)擊右鍵,點(diǎn)擊SVN Commit…,和上面講的提交修改過(guò)的文件到VisualSVN Server服務(wù)器一樣,就可以了。
另外也可以在文件a.cpp上點(diǎn)擊右鍵,點(diǎn)擊TortoiseSVN=>>Add, 選中a.cpp文件,點(diǎn)擊OK按鈕,這樣并沒(méi)有將這個(gè)文件提交到SVN服務(wù)器,只是將這個(gè)文件標記為源代碼庫庫中的文件,并將其狀態(tài)置為新添加狀態(tài)。
之后,我們要再SVN Commit這個(gè)文件一次,彈出如下圖的窗體: 才可以將其真正提交到VisualSVN Server服務(wù)器上的代碼庫中。

上面講是添加文件,實(shí)際上,添加文件夾的步驟也是一樣的,這里就不說(shuō)了。
更新本機代碼與SVN服務(wù)器上最新的版本一致
這個(gè)也很簡(jiǎn)單,只要在需要更新的文件夾上點(diǎn)擊右鍵或在該文件下的空白處點(diǎn)擊右鍵,點(diǎn)擊SVN Update,就可以了。
【注意】更新操作可能會(huì )因為版本沖突而失敗,這是可以使用合并【Merge】或其他方法解決;也可能因為鎖定【Get Lock】而失敗,這是需要先解鎖【Release Lock】。
重命名文件或文件夾,并將修改提交到VisualSVN Server服務(wù)器
只要在需要重命名的文件或文件夾上點(diǎn)擊右鍵,點(diǎn)擊TortiseSVN=>>Rename…,在彈出的窗體中輸入新名稱(chēng),點(diǎn)擊OK按鈕,就可以了。此方法也不是直接重命名,而是將該文件或文件夾的名稱(chēng)標記為重命名后名稱(chēng),
也需要我們使用SVN Commit提交到VisualSVN Server服務(wù)器后才真正重命名。
刪除文件或文件夾,并將修改提交到SVN服務(wù)器
最簡(jiǎn)單就是,你直接刪除文件或文件夾,然后使用SVN Commit提交更新到SVN服務(wù)器。另外一種方法是在你要刪除的文件或文件夾上點(diǎn)擊右鍵=>>TortoiseSVN=>>Delete刪除,此方法也不是直接刪除,而是將該文件或文件夾的狀態(tài)置為刪除,也需要我們使用SVN Commit提交到VisualSVN Server服務(wù)器后才真正刪除。
【注意】實(shí)際上,從你把源代碼遷簽入SVN服務(wù)器開(kāi)始,每一個(gè)版本的數據和文件,就算是你已經(jīng)刪除了的,也都可以隨時(shí)遷出。
以上只是TortoiseSVN最簡(jiǎn)單的幾個(gè)功能,其實(shí)他的功能遠不止這些,其他的功能大家可以在使用的過(guò)程中慢慢體會(huì ),有些功能我會(huì )在下面的教程中使用到,到時(shí)候會(huì )和大家講清楚用法。
【注意】向SVN服務(wù)器提交源代碼的時(shí)候,一定不要提交bin、obj等文件夾,否則會(huì )很麻煩。但是web項目的bin目錄除外,但是web項目的bin目錄中的引用其他項目而生成的dll不需要提交。
一個(gè)好習慣:如果項目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,這時(shí)候不要簡(jiǎn)單從他們的安裝位置引用,而是在你的解決方案下,添加一個(gè)Library的目錄,把需要的程序集復制到這里,然后從Library目錄引用。
【注意】:如果要刪除(把文件夾放入回收站或者直接shift+delete,不是指從SVN服務(wù)器上刪除)受TortoiseSVN版本管理的文件夾的時(shí)候,要選擇“去除版本控制并增加到忽略列表”,如下圖

這一篇到這里了,下一篇介紹AnkhSvn
聯(lián)系客服