1. 程式人生 > >SVN分支開發管理(SmartSVN)

SVN分支開發管理(SmartSVN)

使用分支的目的是,可以多個分支進行多版本並行開發,相互不干擾,而且任何時候都可以合併。同時,也保證了主幹的穩定性。

專案目錄格式,如:
一級目錄(專案名稱),如:Projectxxx
二級目錄 (一級目錄下的子目錄),如:Projectxxx—trunk、branch、tag
三級目錄(二級目錄下的子目錄),如:Projectxxx—trunk—projectXXX

說明:
1、trunk主幹,永遠只有一份完整的原始碼;
2、branch分支,可以有多個版本的原始碼;
3、tag存檔,不同版本釋出後存檔(版本號+存檔時間)。

示例圖
SVN目錄結構

分支開發
使用SmartSVN示例

從主幹建立分支(建立分支方法及步驟)

1、通過SmartSVN的checkout功能,checkout 整個專案目錄到本地,即一級目錄和二級目錄
2、在本地二級分支目錄branch目錄下,新建目錄,如:V2.0.0
3、在SmartSVN的二級目錄branch目錄下,可以看到新建的目錄V2.0.0,右擊並選擇Add(注意不進行Commit提交)
新建分支
4、在SmartSVN的二級目錄branch目錄下,選中新建的目錄V2.0.0,後再選擇選單欄中的Copy From Repository(選單欄-Modify-Copy From Repository)
分支原始碼
5、 在彈窗中進行相關目錄的設定,1是 Copy 的原始碼目錄,2是 Into Local 的分支的程式碼目錄(Copy是複製前的目錄,Into Local是複製後的目錄且還在本地),3點選Copy進行復制,即建立分支的程式碼目錄
分支選擇


6、複製後,在SmartSVN中的分支目錄branch目錄下出現專案目錄,選中並點選Commit進行提交,分支即建立成功
分支原始碼提交

分支合併到主幹(從主幹建立的分支)

1、在SmartSVN上,選擇主幹目錄trunk目錄下的專案目錄
2、在選單欄中選擇合併Merge(選單欄-Modify-Merge)
分支合併到主幹
3、在彈窗中選擇合併來源Other Location,並選擇對應的svn路徑,及選擇All Revisions(not yet merged),後點擊合併按鈕Merge
分支合併到主幹選擇
合併程式碼選擇
4、合併後,在SmartSVN中的主幹目錄trunk目錄下,選擇原始碼專案,並點選Commit進行合併後的程式碼提交
合併後提交

主幹合併到分支(從主幹建立的分支)

1、操作方工同分支合併到主幹
報錯:Cannot merge into a working copy that has local modifications
解決:因為只checkout了分支目錄,且直接在分支目錄進行合併操作;需要checkout整個專案目錄,然後進入到分支目錄再進行主幹合併到分支的操作。

分支合併到分支(從分支建立的分支)

1、操作方工同分支合併到主幹

注意:
1、不管是建立分支(主幹建立分支,或分支再建立分支),還是合併(分支合併到主幹,或主幹合併到分支,或分支合併到分支),都是通過SVN工具把整個專案目錄(包括一級,二級目錄,三級目錄等)checkout到本地後才能進行有效的操作。如果只是checkout主幹,然後進行分支合併到主幹操作,是不可行的,並且會給出錯誤提示;或只是checkout某個分支,然後進行主幹合併到分支操作,也是不可行的。
2、合併前需要進行update操作,保證本地各分支原始碼都是最新的程式碼
3、提交修改備註時,註明修改的分支,如:主幹上修改登入功能,或分支V2.0.0修改註冊功能