SVN將項目代碼加入svn版本控制

將已有項目代碼加入svn版本控制 - TortoiseSVN入門篇
Windows下SVN實用教程(以TortoiseSVN做爲客戶端(client))

翻譯: Bravo Youngphp

 

 

 

 

Next: 版本庫的備份與存儲html

目錄

  • 導引
  • 安裝Subversion
  • 安裝TortoiseSVN
  • 一步步地操做
    • 步驟0. 設置全局忽略文件類型(此步驟爲可選)
    • 步驟1. 建立版本庫Repository數據庫
    • 步驟2. 導入初始化 - 將你的項目導入(import)到數據庫
    • 步驟3. 建立工做目錄 -  將你的項目與數據庫鏈接起來
  • 注意事項
  • 參考資料

導引

到目前有不少關於Subversion (SVN) 和 TortoiseSVN的優秀書籍和教程。其中有部分在本文的參考資料區有列出。這篇教程無疑是站在巨人的肩膀上。它只覆蓋了subversion (SVN)有限的一部分功能。 然而我但願此文能簡化你對SVN的認識。前端

Subversion 是一種跨平臺的開源版本控制系統 (http://subversion.tigris.org/).  它由版本數據庫 (FSFS 或 BDB) 和一些命令行工具組成。目前有各類各樣的SVN前端工具。mysql

Subversion是爲多人蔘與的項目專門設計的。 但它也可用於管理我的項目。linux

此文僅限於基於Windows的本地SVN環境(未單獨配置遠程的服務器)。git

 

安裝Subversion

打開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

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

相應的文件結構爲:

爲了能用更多高級的項目管理功能,這個結構是必須的, 若是事先建立它也不會帶來什麼損害。 有些手冊首推先導入此結構到版本庫,而後向裏面添加項目。我推薦使用以下的快捷方式:

  • 備份你的項目文件 (好比 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"小圖標的形式反映在你的項目目錄和裏面全部的文件(和全部的子目錄)上。

這樣的含有"對勾Check"的目錄被稱爲工做目錄。如今你能夠開始使用SVN管理你的項目版本了,也能夠學到更多關於Subversion的知識。

 

幾點注意事項

  • 提交 (checking in) 你對版本庫的變動: 右擊鼠標,而後選擇 "SVN Commit"(SVN提交)
  • 添加文件到版本庫。 這是一個兩步的過程: 
    1. 先右擊選中的文件,而後右鍵依次選擇 "TortoiseSVN"->"Add"
    2. 先右擊選中的文件,而後右鍵依次選擇 "TortoiseSVN"->"SVN Commit"
  • 除了參考書籍 [4] 和 [5], 我也推薦 Charlie Calvert 的文章 [6].
  • 若是你使用 Lavasoft Ad-Aware, 不要刪除能夠忽略的對象: 這一步會刪除註冊表中的圖標設置 !
  • 祝開開心心 使用Subversion版本控制 !

 

參考資料

  1. Subversion 主頁: http://subversion.tigris.org/ 
  2. By Hans Dietrich, Version Control for the Standalone Programmer - Part 1. - Code Project中的優秀文章.
  3. SVN 1-Click setup.- Windows下用單個安裝包搭建SVN環境:http://svn1clicksetup.tigris.org/
  4. Adam Pash, How to set up a personal home Subversion server (Windows下需另外配置Apache).
  5. RapidSVN, 一種用於SVN版本控制系統的跨平臺GUI前端: http://rapidsvn.tigris.org/ 
  6. TortoiseSVN, 一種 Subversion 客戶端, 做爲windows的命令行擴展: http://tortoisesvn.tigris.org/ 
  7. Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato. Subversion手冊: http://svnbook.red-bean.com/ 
  8. TortoiseSVN 用戶手冊, 來自 TortoiseSVN官方網站 https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/.
  9. Charlie Calvert. 在Subversion Trunk, Tags, Branches中建立版本庫、和項目。 Codefez: (http://www.codefez.com/Home/tabid/36/ctl/ArticleView/mid/364/articleId/144/Default.aspx)
  10. Sebastian Rahtz.Subversion簡介, 牛津大學: http://www.oucs.ox.ac.uk/oucsweb/svn.xml
  11. OUCS提供的一份Windows下TortoiseSVN的使用手冊.http://www.oucs.ox.ac.uk/oucsweb/tortoisesvn.xml
  12. TortoiseSVN 教程. http://www.mind.ilstu.edu/research/complete_inactive/iris4/iris40/developers/svntutorial/   
  13. SVN vs CVS. http://www.pushok.com/soft_svn_vscvs.php 
  14. 更多 SVN 連接

 

也可參看: 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

相關文章
相關標籤/搜索