首先說下為什么我們需要用到分支-合並。比如項目demo下有兩個小組,svn下有一個trunk版。由於客戶需求突然變化,導致項目需要做較大改動,此時項目組決定由小組1繼續完成原來正進行到一半的工作【某個模塊】,小組2進行新需求的開發。那么此時,我們就可以為小組2建立一個分支,分支其實就是trunk版【主干線】的一個copy版,不過分支也是具有版本控制功能的,而且是和主干線相互獨立的,當然,到最后我們可以通過【合並】功能,將分支合並到trunk上來,從而最后合並為一個項目。
下面是在eclipse下使用subeclipse插件詳細使用過程:
首先建立一個工程,名字叫Facebook
1.建立分支,為新的分支指定訪問URL:Facebook3[注釋不要忘了]
2.建立好分之后,使用“切換”功能切換到分支下進行開發。
我新建了一個FB3.html的文件並在分支下進行提交。
3.切換回trunk版【即URL為Facebook的版本】
你會發現trunk版里並沒有出現我們剛剛提交的FB3.html,因為FB3.html是屬於分支的,接下來我們要做的就是“合並”,通過合並,我們可以將分支下進行的更改合並到trunk版里。
下面是合並的主要配置:
起始路徑:trunk版的路徑【若需要把trunk版的改動合並到分支則相反】
目標路徑:從哪里獲取改動【這里是分支路徑】
你可以使用指定的版本號,這里采用最新修訂版。
4.點擊合並,你會發現trunk版下新增了一個文件FB3.html
這樣我們就將分支下所做的改動合並到了trunk版里。
值得注意的是:
1.在建立分支的時候最好添加注釋。
2.進行合並前最好保證兩個版本都是干凈的【即沒有未提交或者沖突的文件存在】
3.合並時的目標路徑:需要把誰的改動合並到其他版本就填誰的URL。
整個過程的SVN命令行輸出如下:
1 copy -rHEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3 2 propset subclipse:tags "1538,Facebook2,/Facebook2,branch 3 1540,Facebook3,/Facebook3,branch" E:/myeclipse/workspace/Facebook 4 switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3 E:/myeclipse/workspace/Facebook -rHEAD 5 At revision 1541. 6 add -N E:\myeclipse\workspace\Facebook\WebRoot\FB3.html 7 A E:/myeclipse/workspace/Facebook/WebRoot/FB3.html 8 commit -m "" E:/myeclipse/workspace/Facebook/WebRoot/FB3.html 9 Adding E:/myeclipse/workspace/Facebook/WebRoot/FB3.html 10 Transmitting file data ... 11 Committed revision 1542. 12 switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook E:/myeclipse/workspace/Facebook -rHEAD 13 D E:/myeclipse/workspace/Facebook/WebRoot/FB3.html 14 Updated to revision 1542. 15 ===== File Statistics: ===== 16 Deleted: 1 17 merge svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook@HEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3@HEAD E:/myeclipse/workspace/Facebook 18 A E:/myeclipse/workspace/Facebook/WebRoot/FB3.html 19 Merge complete. 20 ===== File Statistics: ===== 21 Added: 1
希望本文能有所幫助。
其他參考資料:
http://www.iteye.com/wiki/subclipse/1626-subclipse-getting-started-guide-and-reference-c
