1. 程式人生 > >如何用TortoiseSVN將專案程式碼提交到SVN

如何用TortoiseSVN將專案程式碼提交到SVN

轉載自:https://blog.csdn.net/lzuacm/article/details/50347365

目錄

  • 導引
  • 安裝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環境(未單獨配置遠端的伺服器)。

開啟Tigris.org網站的下載區,選擇 原始碼軟體工程工具Subversion。 Windows下最新的命令列版Subversion的安裝檔案和庫都能在http://www.open.collab.net/downloads/subversion/

下載到。下載安裝包。SVN的預設安裝目錄為C:\Program Files\Subversion,當然你也可以修改磁碟路徑。

現在你就可以開始使用SVN了。 如果你不習慣使用命令列工具,那你有必要安裝一個你覺得合適的GUI前端。

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\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"小圖示的形式反映在你的專案目錄和裡面所有的檔案(和所有的子目錄)上。

步驟4.新增忽略的檔案

在資源管理器中,右鍵一個未加入版本控制檔案或目錄,並從彈出選單選擇TortoiseSVN →Add to Ignore List,會出現一個子選單,允許你僅選擇該檔案或者所有具有相同字尾的檔案。


如果你想從忽略列表中移除一個或多個條目,右擊這些條目,選擇TortoiseSVN →從忽略列表刪除。
  • 提交 (checking in) 你對版本庫的變更: 右擊滑鼠,然後選擇 "SVN Commit"(SVN提交)
  • 新增檔案到版本庫。 這是一個兩步的過程: 
    1. 先右擊選中的檔案,然後右鍵依次選擇 "TortoiseSVN"->"Add"
    2. 先右擊選中的檔案,然後右鍵依次選擇 "TortoiseSVN"->"SVN Commit"
  • 除了參考書籍 [4] 和 [5], 我也推薦 Charlie Calvert 的文章 [6].
  • 如果你使用 , 不要刪除可以忽略的物件: 這一步會刪除登錄檔中的圖示設定 !
  • 祝開開心心 使用Subversion版本控制 !