首先說下爲何咱們須要用到分支-合併。好比項目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
但願本文能有所幫助。
其餘參考資料:
http://www.iteye.com/wiki/subclipse/1626-subclipse-getting-started-guide-and-reference-c
===========================關於合併==========================
我在合併的時候發現,合併後文件被直接覆蓋掉了,而沒有出現本該出現的【衝突】,後來通過仔細研究發現,是操做問題。
假設我原來的項目是placii,創建了一個分支是placiiStore.如今須要將分支placiiStore合併到主幹線上。那配置應該如圖所示
1.【起始路徑】:這裏須要填分支的路徑。
2.第一個修訂號:創建分支時的版本號。在創建分支時候記錄下svn的console
個人是Xml代碼 html
3.目標路徑:這裏使用起始路徑。
4.目標版本號:使用最新版即 HEAD.
點擊合併,若是有人在主幹線版本上作了更改,而你再分支上也對這個文件做了更改,將會產生衝突。而後手動把衝突的代碼合併一下,右鍵-標記爲解決,這就達到咱們的目的了。 java
9
頂react
0
踩ios
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