翻譯: Bravo Youngphp
Next: 版本庫的備份與存儲html
到目前有不少關於Subversion (SVN) 和 TortoiseSVN的優秀書籍和教程。其中有部分在本文的參考資料區有列出。這篇教程無疑是站在巨人的肩膀上。它只覆蓋了subversion (SVN)有限的一部分功能。 然而我但願此文能簡化你對SVN的認識。前端
Subversion 是一種跨平臺的開源版本控制系統 (http://subversion.tigris.org/). 它由版本數據庫 (FSFS 或 BDB) 和一些命令行工具組成。目前有各類各樣的SVN前端工具。mysql
Subversion是爲多人蔘與的項目專門設計的。 但它也可用於管理我的項目。linux
此文僅限於基於Windows的本地SVN環境(未單獨配置遠程的服務器)。git
打開Tigris.org網站的下載區,選擇 開源代碼軟件工程工具Subversion (http://subversion.tigris.org/)。 Windows下最新的命令行版Subversion的安裝文件和庫都能在http://www.open.collab.net/downloads/subversion/下載到。下載安裝包。SVN的默認安裝目錄爲C:\Program Files\Subversion,固然你也能夠修改磁盤路徑。web
如今你就能夠開始使用SVN了。 若是你不習慣使用命令行工具,那你有必要安裝一個你以爲合適的GUI前端。sql
TortoiseSVN是一種Subversion客戶端, Windows下它是一個命令行擴展, Windows資源管理器的一個插件(http://tortoisesvn.tigris.org/)。數據庫
最新版本能夠在這下載到 http://tortoisesvn.sourceforge.net/downloads. 截止到2015.12.18的最新版本爲:TortoiseSVN-1.9.2.26806-x64-svn-1.9.2.msi,若是須要切換語言,還能夠在官網上下載相應語言包。windows
若是你電腦安裝的Windows是32位的請選擇32位的TortoiseSVN安裝包,若是你電腦安裝的Windows是x64的請選擇x64的TortoiseSVN安裝包。 下載區域的另外一個文件TortoiseSVN-xxx-xxx.md5, 是安裝時不須要的。它包含安裝包的驗證編號checksum,該驗證編號能有效驗證你是否下載到了合適的安裝包 (且它沒有損壞)。
你能夠下載程序HashFile (http://www.shokhirev.com/nikolai/programs/progmisc.html) 來驗證下載到的安裝包的 MD5 哈希值 (checksum). 該驗證編號必須和TortoiseSVN-xxx-xxx.md5文件上的信息徹底一致。
這個安裝也是直接的,贊成默認設置便可。 惟一有趣的是ASP.NET hack. 默認狀況下, SVN 使用 .svn 工做目錄 (正如Linux下隱藏文件的命名風格)。
![]() |
![]() |
默認的, 不含有 ASP.Net hack |
含有給VS.Net web項目用的ASP.Net hack |
這使得 微軟 ASP.Net 和 the hack 強制 SVN 去使用 _svn 做爲工做目錄。 若是你要使用Subversion對ASP.Net項目進行版本控制,請不要安裝ASP.Net hack這一項。
注: 安裝完TortoiseSVN後,你的Windows 資源管理器的主目錄上會出現下圖所示的新的按鈕:
同時這些新增按鈕也會添加到 (經過鼠標右鍵單擊激活) 的上下文菜單中。
目前有不少Subversion管理方式(參看手冊). 如今咱們主要考慮以下主要的情形:
在這種情形下你不該該會擔憂安全性和開啓一個subversion服務器。
假設你的項目駐放在 C:\Projects\MyProject 路徑下,它包含以下文件,或許還有些子文件夾:
步驟0 (可選). 設置全局忽略文件類型。 你可能不想跟蹤臨時文件 或 某些其餘格式的文件。鼠標右擊任意一個文件夾,而後打開TortoiseSVN的Settings:
固然你也能夠鼠標右擊文件, 打開Windows資源管理器主目錄中的TortoiseSVN/Settings。
"General" -> "Subversion"處,你能夠列出各類各樣的文件類型,並使用空格隔開 (好比上圖中示例的 *.bak *.~*
). 注意到這個設置會對全部的工做目錄有效。參看手冊的5.25可瞭解更多的設置。
步驟1.建立版本庫Repository。 在你的硬盤上爲你的項目建立版本庫的目錄, 好比 C:\SVN. 在它裏面建立一個空的子目錄 \MyProject. 鼠標右鍵點擊MyProject,並選擇TortoiseSVN -> 在此建立版本庫:
選擇默認"原生文件系統"(FSFS)選項,並單擊OK按鈕:
這一步將 C:\SVN\MyProject 轉化爲含有以下內容的版本庫:
到目前爲止,它仍是一個空的版本庫,雖然Subversion已經建立了幾個目錄和文件 ! 咱們須要將咱們的項目文件中須要進行版本控制的文件填充進去並將它連接到咱們的工做項目的目錄。這些操做中可能會有幾個和你們的習慣操做不同、新的操做。
步驟2. 導入初始化。 在你的磁盤的某處 (好比 在 C:\tmp) 建立一個目錄 (好比 \new) ,含有以下3個子目錄:
C:\tmp\new\branches C:\tmp\new\tags C:\tmp\new\trunk
相應的文件結構爲:
爲了能用更多高級的項目管理功能,這個結構是必須的, 若是事先建立它也不會帶來什麼損害。 有些手冊首推先導入此結構到版本庫,而後向裏面添加項目。我推薦使用以下的快捷方式:
URL 選擇 file:///C:/SVN/Myproject (左斜槓"/" !):
"Import finished" 消息出現時,代表 C:\tmp\new\下的全部文件及子文件夾都已成功導入版本庫 :
不須要擔憂"tmp\new" 消息, 只要驗證哪些文件真正地導入到了版本庫中便可。 書表右鍵單擊 C:\SVN\MyProject ,而後打開 TortoiseSVN -> Repo-browser(版本庫瀏覽器):
導航 至 file///C:/SVN/MyProject/trunk:
注意到全局忽略列表的文件都沒被導入。 而且也沒有 'C:\tmp\new' 目錄的痕跡了, 'C:\tmp\new' 目錄再沒有什麼用處了,能夠刪掉。
步驟3. 建立工做目錄 - 將你的項目與數據庫鏈接起來. 如今你已經成功增長了你對全部須要進行版本控制的文件添加了版本控制,而且當前的空目錄 C:\Projects\MyProject (回憶一下, 咱們以前已將改目錄中的全部文件 移動 到了 目錄 C:\tmp\new\trunk 中,對麼?). "爲了讓你的雙手移動文件的這個行爲得到"讚美", 徹底獲得批准, 而且徹底導入Subversion目錄, 你須要從版本庫中對它進行檢出Checkout" . 書表右擊 C:\Projects\MyProject 文件夾,並選擇 "SVN Checkout"(SVN 檢出):
設置 URL 爲 file:///C:/SVN/MyProject/trunk ,並設置檢出目錄爲: C:\Projects\MyProject
點擊OK. 會提示"Checkout (檢出) has finished":
"讚美" 以"對勾Check"小圖標的形式反映在你的項目目錄和裏面全部的文件(和全部的子目錄)上。
這樣的含有"對勾Check"的目錄被稱爲工做目錄。如今你能夠開始使用SVN管理你的項目版本了,也能夠學到更多關於Subversion的知識。
也可參看: Buildix - 磁盤上的敏捷開發平臺 http://buildix.thoughtworks.com/.
Buildix 包含如下幾部分:
英文源地址: http://www.shokhirev.com/nikolai/programs/SVN/svn.html
Practical guide to subversion on Windows with TortoiseSVN
by Nikolai Shokhirev