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命令行輸出以下: 
Xml代碼 javascript

 收藏代碼

  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 
個人是Xml代碼 html

 收藏代碼

  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. 

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

 

9 
react

0 
ios

分享到:  app

MyEclipse freemarker 插件 plugins (附件 ... | eclipse jvm terminated. exit code 1 解決 ...eclipse

參考知識庫jvm

深度學習知識庫882  關注 | 180  收錄ide

React Native知識庫832  關注 | 426  收錄svn

iOS知識庫765  關注 | 1143  收錄

直播技術知識庫2025  關注 | 851  收錄

評論

 

9 樓 xiboliyalang 2016-09-21  

                        

8 樓 77321660 2015-11-30  

謝謝,很詳細的教程,受用。

7 樓 rovegaby 2013-12-17  

博主 你好  我用你的方法 創建分支 跟合併 分支 都報一個錯誤:

http://hi.baidu.com/i_ccboy/item/c90aae8495ddc3ded1f8cda7

這裏的第二個問題 , 有沒有辦法 解決。還有 我這個svn 插件跟你的同樣,是否是插件的問題。

6 樓 fanjf 2011-12-19  

不錯,受用

5 樓 energykey 2011-07-11  

 

4 樓 beautyOfProgram 2011-07-11  

beautyOfProgram 寫道


我實際操做結果是:操做的起始路徑 和目標路徑與你上面文中寫的相反

我測試結果是: 起始路徑應該爲改動的源,如文中在分支修改,那麼此處應該爲分支路徑
目標路徑爲 要合併的trunk

個人svn命令:把trunk 合併到分支

merge --depth=infinity http://192.168.1.18/repos/hxia/trunk/VMS@HEAD http://192.168.1.18/repos/hxia/branches/VMS_SQLSERVER@HEAD E:/myeclipseWorkspace/VMS

  


仔細檢查一遍,發現時我錯了,文中的教程是正確的,請原諒。

3 樓 beautyOfProgram 2011-07-11  


我實際操做結果是:操做的起始路徑 和目標路徑與你上面文中寫的相反

我測試結果是: 起始路徑應該爲改動的源,如文中在分支修改,那麼此處應該爲分支路徑
目標路徑爲 要合併的trunk

個人svn命令:把trunk 合併到分支

merge --depth=infinity http://192.168.1.18/repos/hxia/trunk/VMS@HEAD http://192.168.1.18/repos/hxia/branches/VMS_SQLSERVER@HEAD E:/myeclipseWorkspace/VMS   

相關文章
相關標籤/搜索