如何用TortoiseSVN将项目代码提交到SVN
目錄
- 導引
- 安裝Subversion
- 安裝TortoiseSVN
- 一步步地操作
- 步驟0. 設置全局忽略文件類型(此步驟為可選)
- 步驟1.?創建版本庫Repository數據庫
- 步驟2. 導入初始化 - 將你的項目導入(import)到數據庫
- 步驟3. 創建工作目錄 -??將你的項目與數據庫連接起來
- 步驟4.添加忽略
- 注意事項
?
- 參考資料
?
導引
到目前有很多關于Subversion (SVN) 和 TortoiseSVN的優秀書籍和教程。其中有部分在本文的參考資料區有列出。這篇教程無疑是站在巨人的肩膀上。它只覆蓋了subversion (SVN)有限的一部分功能。?然而我希望此文能簡化你對SVN的認識。
Subversion 是一種跨平臺的開源版本控制系統 (http://subversion.tigris.org/). ?它由版本數據庫 (FSFS 或 BDB) 和一些命令行工具組成。目前有各種各樣的SVN前端工具。
Subversion是為多人參與的項目專門設計的。 但它也可用于管理個人項目。
此文僅限于基于Windows的本地SVN環境(未單獨配置遠程的服務器)。
?
?
安裝Subversion
打開Tigris.org網站的下載區,選擇?開源代碼軟件工程工具Subversion?(http://subversion.tigris.org/)。?Windows下最新的命令行版Subversion的安裝文件和庫都能在http://www.open.collab.net/downloads/subversion/下載到。下載安裝包。SVN的默認安裝目錄為C:\Program Files\Subversion,當然你也可以修改磁盤路徑。
現在你就可以開始使用SVN了。 如果你不習慣使用命令行工具,那你有必要安裝一個你覺得合適的GUI前端。
安裝TortoiseSVN
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是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 和 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\branchesC:\tmp\new\tagsC:\tmp\new\trunk相應的文件結構為:
?
為了能用更多高級的項目管理功能,這個結構是必須的, 如果事先創建它也不會帶來什么損害。 有些手冊首推先導入此結構到版本庫,然后向里面添加項目。我推薦使用如下的快捷方式:
- 備份你的項目文件 (比如 C:\Projects\MyProject), 以防萬一.?
- 刪除所有不在全局忽略文件列表中的不需要進行版本控制的文件。
- 將 文件夾 \MyProject 中需要進行版本控制的內容?移動?進 trunk 子目錄 (C:\tmp\new\trunk). 我們之后無論如何都將會需要一個空的文件夾。
- 將目錄"new"導入Import到版本庫 (選擇"new",右鍵依次單擊TortoiseSVN->Import):
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"小圖標的形式反映在你的項目目錄和里面所有的文件(和所有的子目錄)上。
?
步驟4.添加忽略的文件
在資源管理器中,右鍵一個未加入版本控制文件或目錄,并從彈出菜單選擇TortoiseSVN →Add to Ignore List,會出現一個子菜單,允許你僅選擇該文件或者所有具有相同后綴的文件。
?
如果你想從忽略列表中移除一個或多個條目,右擊這些條目,選擇TortoiseSVN →從忽略列表刪除。
?
幾點注意事項
- 提交 (checking in) 你對版本庫的變更: 右擊鼠標,然后選擇 "SVN Commit"(SVN提交)
- 添加文件到版本庫。 這是一個兩步的過程:?
- 先右擊選中的文件,然后右鍵依次選擇 "TortoiseSVN"->"Add"
- 先右擊選中的文件,然后右鍵依次選擇 "TortoiseSVN"->"SVN Commit"
- 除了參考書籍 [4] 和 [5], 我也推薦?Charlie Calvert 的文章?[6].
- 如果你使用?Lavasoft Ad-Aware, 不要刪除可以忽略的對象: 這一步會刪除注冊表中的圖標設置 !
- 祝開開心心 使用Subversion版本控制 !
總結
以上是生活随笔為你收集整理的如何用TortoiseSVN将项目代码提交到SVN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泛函分析笔记1:度量空间
- 下一篇: 上海徐汇区:幼儿园入园入学攻略大全(招生