天天看點

SVN分支管理

背景:現在大家基本上使用git管理代碼,對git分支處理應該都比較熟,記錄一下古老的svn分支用法。

1.TortoiseSVN 處理分支合并

1.1 用TortoiseSVN Repo-browser,代碼庫先copy to ,建立分支 b2

SVN分支管理
SVN分支管理

![](https://img-blog.csdnimg.cn/6db0d713d71246b48a48bc140fe17373.png

SVN分支管理

1.2 此時看到版本庫有 主幹trunk 分支 b1 b2

SVN分支管理

1.3 檢出到本地b2

SVN分支管理
SVN分支管理

1.4 本地b2分支修改内容,增加檔案003,送出到版本庫 分支b2

SVN分支管理

1.5 本地分支合并

SVN分支管理
SVN分支管理

1.6.merge類型

1. Merge a range of revisions

b1分支新增檔案111.txt,送出分支版本庫

SVN分支管理

from分支版本庫,合并到本地trunk

SVN分支管理
SVN分支管理
SVN分支管理

2. Merge two different trees

易混淆概念

在From中選擇trunk的路徑,在to中選擇branches路徑。在merge時,前後版本會先比較内容,再将差異部分copy到本地。From是左邊,類似于原始版本,to是右邊,類似于修改後的程式。

錯誤了解: from 合并的源分支,to 合并的目标分支。未考慮下面的copy選項。

正确了解: from 原始版本 ,to 修改後的程式,差異部分copy到本地原始版本trunk。

SVN分支管理

可以測試一下test merge,檢視沖突,相當于列印預覽

SVN分支管理

merge之後,可以看到,trunk已經合并了b2分支的内容了

SVN分支管理

送出版本庫trunk

SVN分支管理

2.IDEA 處理分支合并(推薦使用)

2.1 切換到主分支trunk,檢視svn的目前環境

SVN分支管理

system項目,本地Trunk分支,線上Trunk分支

SVN分支管理

Merge from 選擇子分支合并到目前主幹trunk

SVN分支管理
SVN分支管理

有沖突,idea會提示,在idea工具上解決比較友好。