SVN 分支管理


平時在工作中使用 SVN 只是限於 commit,update 這樣的操作,至多再 reslove 解決一下沖突,沒有用過分支管理。開發過程中一般都是一個功能開發完成之后整體進行提交,而最近在項目中有一個比較大並且開發周期比較長的功能,所以在功能沒有完成之前不方便進行提交,所以想到了使用分支管理,邊學邊用(所以工作最好一定要選開發流程規范的公司)。

/*環境:
 * 服務器操作系統 - CentOS 6.6
 * SVN 服務器 - Subversion 1.6.11
 * 客戶端操作系統 - Windows 10 64位
 * SVN 客戶端 - TortoiseSVN 1.9.2
 */

 

SVN 目錄結構一般包含 Trunk,Branches,Tags 三個一級目錄。

Trunk 表示主干目錄,從這里創建分支

Branches 表示分支目錄,放置項目的 release 版,開發人員在這些版本上進行開發和測試,完成之后需要合並到 Trunk 中

Tags 存儲項目的發布版本,一般設置為只讀

 

流程:

① 首先在服務器創建新的 SVN 倉庫並且進行配置(見:http://www.cnblogs.com/dee0912/p/4376447.html

倉庫名:svnproject

倉庫路徑:/usr/local/www/svnroot/svnproject

 

② 在客戶端創建目錄 svnproject

進入 svnproject,右鍵 SVN Checkout

 

③ 在 SVN 服務器創建 Trunk 目錄

在客戶端目錄 svnproject 中右鍵 TortoiseSVN,選擇 Repo-browser,在服務器倉庫目錄上右鍵,選擇 Create folder

創建 Trunk 目錄

 

④ 回到客戶端,在 svnproject 目錄中右鍵,選擇 SVN Update

此時 svnproject 目錄中就多了 Trunk 目錄。

進入 Trunk 目錄,新建項目文件夾 project,在 project 里創建 index.php

 

把 project 目錄 add 並且 commit。

 

開始創建分支

在客戶端 Trunk 目錄上右鍵,選擇 TortoiseSVN -- Branch/tag(也可以在服務器上進行 copy to)

在 To path 中填寫 Branches 的路徑名稱

在 Create Copy in the repository from 中選擇 HEAD revision in the repository,表示選擇 Trunk 中最新的代碼建立分支

ok -- ok

(服務器上的)分支建立完成。

 

可以在 svnproject/Trunk 上右鍵選擇 TortoiseSVN -- Revision graph 查看分支示意圖

 

 

⑥ 在客戶端 svnproject 中 SVN Update,Branches 就從服務上更新了下來。

進入 Branches 目錄,發現里面有一個完整的 project 項目

 

合並分支

在客戶端中,編輯分支中的 svnproject/Branches/project/index.php

 

同時編輯主干中的 svnproject/Trunk/project/index.php

 

將兩個修改過的文件全部 commit。

 

將分支合並到主干

在 svnproject/Trunk/project 上右鍵,選擇 TortoiseSVN -- Merge

 

在 Merge type 中選擇第二項 Merge two different trees

 

Next

在 From 和 To 中都選擇要合並的分支目錄

起始 URL :在 From 的 Revision 選擇創建分支時的那個Revision:點擊Show log,選擇最下面一條,原因是該版本是分歧的起始點

結束 URL :在 To 的 Revision 選擇 HEAD Revision,也就是最新操作,即分歧的結束點

Next -- Merge

 

此時 svnproject/Trunk/Project/index.php 已經發生改變

 

 

 參考:

1.關於SVN中的Branches與Tags

2.SVN的標准目錄結構:trunk、branches、tags 

3.SVN版本控制與分支設置

4.使用TortoiseSVN新建及合並分支圖文教程

5.企業使用SVN策略

6.svn 版本控制 trunk branch tag

7.Subversion版本控制 — 分支和合並(三)

8.解決版本沖突-使用SVN主干與分支功能

9.實例剖析TortoiseSvn分支合並


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM