TortoiseSVN 使用簡介(1)

 

1 安裝及下載client 端
2 什麼是SVN(Subversion)?
3 爲甚麼要用SVN?
4 怎麼樣在Windows下面建立SVN Repository?
5 建立一個Working目錄
6 新增檔案及目錄到Repository中
7 更新檔案及目錄
8 更新至特定版本
9 複製檔案及目錄
10 製作Tag或是Release
11 快速參考
11.1 取得(Checkout)Repository
11.2 更新(Update)檔案或目錄
11.3 新增(Add)檔案或目錄
11.4 提交(Commit)修改過的檔案或目錄
11.5 Copy/Tag/Branch/Release檔案或目錄
 


安裝及下載client 端
下載Windows 端程序:http://tortoisesvn.net/downloads。一般而言,如果是32-bit的Windows XP 應該使用TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 這個檔案。如果是64-bit 的操作系統,則應該使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x.msi 這個檔案。
執行下載回來的TortoiseSVN 安裝程序,就會進行TortoiseSVN 的安裝。正確安裝後,應該進行一次的重開機,以確保TortoiseSVN 的正確無誤。
安裝成功後,在檔案管理員內按下鼠標右鍵,應該可以看到如下的畫面:

 

大部分的TortoiseSVN的操作都是透過檔案管理員及鼠標右鍵就可以完成了。如果您之前使用過TortoiseCVS,應該會對這種操作方式感到十分親切。

什麼是SVN(Subversion)?
有一個簡單但不十分精確比喻:

SVN = 版本控制 + 備份服務器

簡單的說,您可以把SVN當成您的備份服務器,更好的是,他可以幫您記住每次上傳到這個服務器的檔案內容。並且自動的賦予每次的變更一個版本。

通常,我們稱用來存放上傳檔案的地方就做Repository。用中文來說,有點像是檔案倉庫的意思。不過,通常我們還是使用Repository這個名詞。基本上,第一次我們需要有一個新增(add)檔案的動作,將想要備份的檔案放到Repository上面。日後,當您有任何修改時,都可以上傳到Repository上面,上傳已經存在且修改過的檔案就叫做commit,也就是提交修改給SVN server的意思。針對每次的commit,SVN server都會賦予他一個新的版本。同時,也會把每次上傳的時間記錄下來。日後,因爲某些因素,如果您需要從Repository下載曾經提交的檔案。您可以直接選擇取得最新的版本,也可以取得任何一個之前的版本。如果忘記了版本,還是可以靠記憶嘗試取得某個日期的版本。

爲甚麼要用SVN?
備份工作檔案是十分重要的。您永遠不知道計算機上的硬盤何時會壞掉。根據經驗法則再加上摩菲定理,壞事情往往都發生在最重要的時刻。例如,要release東西的前一刻,硬盤完全壞掉,無法修復。所以,常常備份工作數據是非常重要的。大部分公司的server都會有專門的備份機制,甚至是異地備援。絕對比放在自己的計算機裏頭,或是隨身碟上面來的安全。
版本控管非常重要。您無法保證手頭上最新版本永遠都是對的。很多時候,在經過數天努力工作後,您才發現走錯方向。需要將所有的修改回覆到數天前版本。沒有幾個人能夠完全記住自己修改過什麼東西。如果沒有做好版本控管,那麼,最差的狀況就是要全部重來。
夥伴間的數據同步也是非常重要的。很多時候,除了您個人外,還有其它的夥伴也需要您的檔案。怎麼把最新的檔案提供給夥伴呢?用e-mail?根據經驗,用e-mail是一個很差的辦法。到了最後,根本就不知道哪一封e-mail纔是新的。因爲可能您最新的e-mail已經被當成垃圾信給丟了。別忘了,現在很多e-mail軟件都有anti-spam的功能,說不定這些信件都被當成廣告信給處理掉了。而且,您也應該知道一般檔案如果放在e-mail內,檔案大小會變得比較大(通常是原來的4/3倍以上)。如果每天更新一次,恐怕幾天沒收信的話,信箱就爆了! 

 

如果沒有一個好的辦法,備份不同版本是很耗費硬盤空間的。例如:您有一個總共10MB的目錄,使用單純的檔案備份。如果有10個版本就會變成100MB。20個版本就有200MB。如果,不想備份這麼多版本,勢必就是要減少備份的次數。拉長備份週期將會導致數據遺失的危險性增高。把舊的不需要的備份刪除?根據經驗,只要時間一拉長,您跟本就不知道一個月以前的版本是重要或者是不重要。
SVN能幫我們解決上面的問題嗎?答案是肯定的:

SVN Repository可以是自己計算機上的一個目錄,或者是隨身碟(不建議這樣用)。當然也可以是公司的服務器。
SVN有很棒的版本控管機制。所有上傳的版本都會幫您記錄下來。日後您可以隨時取得某一個時刻的版本。而且,也有版本分支及合併等好用的功能。
SVN可以讓不同的開發者存取同樣的檔案,並且利用SVN Server作爲檔案同步的機制。也就是說,您有檔案更新時,無須將檔案寄給您的開發成員。只需要告訴他新的版本已經在SVN Server上面,請他自己去SVN Server上面就可以取得最新版本。而且,SVN Server也可以做到當您上傳新版本後,自動發信給相關的成員。
SVN的存放檔案方式是採用差異備份的方式。也就是說,他只會備份有不同的地方。所以很省硬盤空間。此外,他也可以針對所謂的非文字文件進行差異備份。
怎麼樣在Windows下面建立SVN Repository?
假設您已經安裝前面所提及的TortoiseSVN這套軟件,現在我們先告訴您如何用自己的硬盤或是隨身碟當作SVN Repository的存放地點。如果您只想知道如何存取一個已經建立好的SVN Server上面的Repository,請直接跳過本節。

假設您的要放置Repository的地方是E槽。您需要先建立一個空的目錄。以下面的例子而言,我們在E槽下面建立了一個名爲svn_repo的目錄。SVN並沒有限定Repository目錄名稱。您可以建立任何您自己喜歡的名稱。但是,強烈建議勿使用非英文的檔名(如中文或日文)。

透過您的檔案管理員,在E:\svn_repo的Icon上面,按下鼠標右鍵後,選擇TortoiseSVN->Create repository here。

 

接着,您會看到如下的一個窗口,這個窗口主要是問您,您希望使用的Repository數據庫格式是FSFS還是BDB。基本上,請選擇FSFS就可以了。按下OK按鈕後,您將可以看到下一個畫面。

 

這就表示您的SVN repository已經成功的建立了。接下來就是要把您的檔案備份進來。日後,只要需要使用這個repository,我們就可以使用file:///E:/SVN_REPO表示它。SVN就是透過這種URL的方式到如何與Repository取得聯繫。各種URL的格式如下:

file:///磁盤驅動器|/repository所在目錄/子目錄
http://賬號@服務器名稱/ repository所在目錄/子目錄
https://賬號@服務器名稱/ repository所在目錄/子目錄
svn+ssh://賬號@服務器名稱/ repository所在目錄/子目錄

其中,http表示使用一般的超文字傳輸通訊協議。https表示使用加密的超文字傳輸通訊協議。svn+ssh表示透過SSH加密通訊的管道,進行存取。

建立一個Working目錄
所謂的Working目錄其實就是您平常用來存放工作檔案的地方。通常我們會等到自己的工作做的一個段落的時候再進行備份。所以我們平常都是在Working目錄下面工作,等到適當時機在commit到repository中。舉例來說,我們想在D槽下面建立一個名爲working的目錄。首先先把這個目錄建立出來。

 

 

此時,這個目錄應該爲空的。
 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章