SVN使用教程之-分支/標記 合併 subeclipse

首先說下爲何咱們須要用到分支-合併。好比項目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 



===========================關於合併========================== 
我在合併的時候發現,合併後文件被直接覆蓋掉了,而沒有出現本該出現的【衝突】,後來通過仔細研究發現,是操做問題。 

 
假設我原來的項目是placii,創建了一個分支是placiiStore.如今須要將分支placiiStore合併到主幹線上。那配置應該如圖所示 
1.【起始路徑】:這裏須要填分支的路徑。 
2.第一個修訂號:創建分支時的版本號。在創建分支時候記錄下svn的console 
個人是
1 copy -rHEAD svn://192.168.1.192/placii/trunk/code/server/source%20code/placii svn://192.168.1.192/placii/trunk/code/server/source%20code/placiiStore
2 propset subclipse:tags "1527,placiiStore,/source code/placiiStore,branch
3 1549,placiiStore,/source%20code/placiiStore,branch" E:/myeclipse/workspace/placii
4 switch svn://192.168.1.192/placii/trunk/code/server/source code/placiiStore E:/myeclipse/workspace/placii -rHEAD
5     At revision 1550.

3.目標路徑:這裏使用起始路徑。 
4.目標版本號:使用最新版即 HEAD. 

點擊合併,若是有人在主幹線版本上作了更改,而你再分支上也對這個文件做了更改,將會產生衝突。而後手動把衝突的代碼合併一下,右鍵-標記爲解決,這就達到咱們的目的了。 
相關文章
相關標籤/搜索