一、客戶端TortoiseSVN的安裝
運行TortoiseSVN程序,點擊Next,下面的截圖順序即為安裝步驟:
圖1:
圖2:
圖3:
圖4:
點擊Finish按鈕后會提示重啟系統,其實不重啟也沒有關系。
二、客戶端TortoiseSVN的使用方法
1、 簽入源代碼到SVN服務器
假如我們使用Visual Studio在文件夾StartKit中創建了一個項目,我們要把這個項目的源代碼簽入到SVN Server上的代碼庫中里,首先右鍵點擊StartKit文件夾,這時候的右鍵菜單如下圖所示:
圖2-2-1
點擊Import,彈出下面的窗體,其中http://zt.net.henu.edu.cn 是服務器名,svn是代碼倉庫的根目錄,StartKit是我們在上個教程中添加的一個代碼庫。
說明:左下角的CheckBox,在第一次簽入源代碼時沒有用,但是,在以后你提交代碼的時候是非常有用的。
圖2-2-2
點擊OK按鈕,會彈出下面的窗體,要求輸入憑據:
圖2-2-3
在上面的窗體中輸入用戶名和密碼,點擊OK按鈕:
圖2-2-4
如上圖所示,好了,源代碼已經成功簽入SVN服務器了。這時候團隊成員就可以遷出SVN服務器上的源代碼到自己的機器了。
2、簽出源代碼到本機
在本機創建文件夾StartKit,右鍵點擊Checkout,彈出如下圖的窗體:
圖2-2-5
在上圖中URL of Repository:下的文本框中輸入svn server中的代碼庫的地址,其他默認,點擊OK按鈕,就開始簽出源代碼了。
說明:上圖中的Checkout Depth,有4個選項,分別是遷出全部、只簽出下一級子目錄和文件、只簽出文件、只簽出空項目,默認的是第一項。上面的例子中,我們也可以使用web的方式訪問代碼庫,在瀏覽器中輸入http://zt.net.henu.edu.cn/svn/StartKit/
這時候也會彈出對話框,要求輸入用戶名和密碼,通過驗證后即可瀏覽代碼庫中的內容。
搞定!源代碼已經成功簽出到剛才新建的StartKit目錄中。
打開StartKit目錄,可以看到如下圖的文件夾結構:
圖2-2-5
一旦你對文件或文件夾做了任何修改,那么文件或文件夾的顯示圖片機會發生變化。下圖中我修改了其中的二個文件:
圖2-2-7
大家看一下不同狀態所對應的圖片:
圖2-2-8
我們已經知道怎么將源代碼簽入到SVN服務器,怎么從服務器簽出代碼到本機,也簡單了解了不同狀態所對應的圖案啦。
3、提交修改過的文件到SVN服務器
上面的圖2-2-7中,我修改了位於Model文件中的二個文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服務器。
注意:提交源代碼到服務器時,一定確保本機的代碼是最新版本,否則可能提交失敗,或者造成版本沖突。
在Model文件夾上點擊右鍵或在Model文件下的空白處點擊右鍵,點擊SVN Commit…彈出下面的窗體:
圖2-2-9
點擊OK按鈕后,彈出如下圖的窗體:
圖2-2-10
4、添加新文件到SVN服務器
我們在Model文件下添加一個新的類文件UserInfo.cs,在Model文件下的空白處點擊右鍵,點擊SVN Commit…,和上面講的提交修改過的文件到SVN服務器一樣,就可以了。另外也可以在文件UserInfo.cs上點擊右鍵,點擊TortoiseSVN=>>Add,彈出如下圖的窗體:
圖2-2-11
選中UserInfo.cs文件,點擊OK按鈕,這樣並沒有將這個文件提交到SVN服務器,只是將這個文件標記為源代碼庫庫中的文件,並將其狀態置為修改狀態。之后,我們要再SVN Commit這個文件一次,才可以將其真正提交到SVN服務器上的代碼庫中。
上面講是添加文件,實際上,添加文件夾的步驟也是一樣的,這里就不說了。
5、更新本機代碼與SVN服務器上最新的版本一致
這個也很簡單,只要在需要更新的文件夾上點擊右鍵或在該文件下的空白處點擊右鍵,點擊SVN Update,就可以了。
注意:更新操作可能會因為版本沖突而失敗,這是可以使用合並【Merge】或其他方法解決;也可能因為鎖定【Get Lock】而失敗,這是需要先解鎖【Release Lock】。
6、重命名文件或文件夾,並將修改提交到SVN服務器
只要在需要重命名的文件或文件夾上點擊右鍵,點擊TortiseSVN=>>Rename…,在彈出的窗體中輸入新名稱,點擊OK按鈕,就可以了。此方法也不是直接重命名,而是將該文件或文件夾的名稱標記為重命名后名稱,也需要我們使用SVN Commit提交到SVN服務器后才真正重命名。
7、刪除文件或文件夾,並將修改提交到SVN服務器
最簡單就是,你直接刪除文件或文件夾,然后使用SVN Commit提交更新到SVN服務器。另外一種方法是在你要刪除的文件或文件夾上點擊右鍵=>>TortoiseSVN=>>Delete刪除,此方法也不是直接刪除,而是將該文件或文件夾的狀態置為刪除,也需要我們使用SVN Commit提交到SVN服務器后才真正刪除。
說明:實際上,從你把源代碼遷簽入SVN服務器開始,每一個版本的數據和文件,就算是你已經刪除了的,也都可以隨時遷出。
以上只是TortoiseSVN最簡單的幾個功能,其實他的功能遠不止這些,其他的功能大家可以在使用的過程中慢慢體會。