myeclipse插件—SVN分支與合併詳解【圖】

svn作爲版本控制軟件被廣泛用於衆多公司的開發團隊中,最多的場景就是一個項目上傳svn後,一個組內的小夥伴在上邊提交和更新代碼以及解決衝突,其實這只是發揮了svn的很小的一部分功能。

先稍微介紹一下svn的兩種開發和發佈的規範:

一 主幹修改,分支發佈

代碼都在trunk上修改,需要發佈的時候,從主幹上拉出一個版本,如果該版本發現BUG則繼續從該分支上修改,並將修改合併到主幹上。

二 主幹發佈,分支修改

任何修改都不能在主幹上直接進行,開發新功能,從主幹上分支出一個版本,進行開發,發開測試完畢後,在合併到主幹上。

個人比較推崇第二種,其優勢在於各個分支獨立進行,互不干擾,可以使不同開發週期的應用在同一個項目中開發進行。對於同一個應用,a組人開發完畢,b組人只做了一半,這個時候,對於主幹修改,分支發佈,這樣是根本不能發佈出去的,而對於主幹發佈,分支修改,只需要把a組的修改合併回主幹就可以發佈出去了,b組開發的根本不受影響。


下面介紹一下分支,合併的應用場景,並針對場景進行一個小栗子。

場景1: 採用主幹發佈,分支修改的規範後,項目要新開發一個功能,這時候我拉開了一個分支,開發完畢後要分支代碼合併回主幹。

場景2:我在分支的開發過程中,主幹被其他的項目組進行較大的改動,爲了避免在“正確”(trunk)的道路上走歪了,也爲了避免最終合併代碼的時候,太過麻煩,我需要將主幹的代碼合併到分支上來

場景3:對於同一個文件,同一個方法內的代碼合並的時候衝突問題解決


案例:事先準備工作,我需要在svn創建一個項目test,並創建一個分支test2.0 如圖,項目右鍵--Team-分支


然後刷新一下svn倉庫,對比看一下trunk主幹和branches分支裏面多了一個2.0的test



場景1 分支代碼合併回主幹。 

項目右鍵-team-先切換到分支代碼,然後將分支代碼進行改動,然後在切換回主幹代碼,進行合併操作,如圖




然後將分支的修改代碼提交svn一下,然後同樣切換回主幹trunk代碼,準備合併。

切換回主幹代碼後,分支代碼修改的地方,主幹代碼不受影響,還是老樣子。

右鍵team-選擇合併,然後選擇第二個選項:分支合併到主幹



這時候,你就會看到分支的代碼被合併到主幹上來了,然後提交svn就可以了



場景2:就不介紹了,唯一的區別就是選擇合併方式的時候,選擇第一個選項就可以了

場景3:衝突解決

再次切換到分支代碼,將分支代碼更改



然後切換到主幹代碼trunk,項目右鍵-team-合併,選擇第二項,分支合併到主幹,next。就會出現如下圖結果,將衝突解決完後,右鍵-》標記爲解決衝突





衝突的代碼就解決完了。


最後附帶merge input 合併類型截圖


發佈了75 篇原創文章 · 獲贊 71 · 訪問量 49萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章