Eclipse Svn的分支與合並教程


在開發過程中,靈活使用分支和合並,可以為我們的版本控制提供許多方便。

使用分支的場景 

  1. 要對某一個模塊做重大調整,而不想別人打擾你或你不想打擾別人的工作,因為你修改的內容比較多,在沒有完全改好並測試過之后就提交的話,別人更新后的程序就用不了了,但是如果你一直不提交,等到你完全改好后再提交,那svn的版本管理的作用體現在哪里?通過分支可以避免這個問題。
  2. 主干已經開發完成,要進行發布,那把主干復制到分支,然后分支主要進行bug的修改和完善,而主干繼續進行新特性的開發。比如我們要對框架進行升級工作,我們在目前的主干開發了差不多的時候,就可以准備發布1.0版本了,那我們把主干的復制到一個叫版本1的分支,在修復測試、發布1.0版本的同時,主干繼續進行2.0的開發工作。當分支有bug修復的時候,同步到主干。

目前我們使用分支多是前一種情況。

創建分支

打開要創建分支的文件,可以是一個目錄,也可以是一個文件,在該文件上右鍵點擊,如圖:

選擇“分支/移動”菜單,打開復制界面,如下:

 

 

 

在“到URL”選擇框里,填寫要分支的路徑,shop2,下一步,選擇創建分支的版本:

 

默認選擇“HEAD修訂版”就可以了,就是svn上最新的版本。下一步,提交更改:

 

填寫注釋,點擊“Finish”,完成分支的創建。創建后的分支如下:

Svn的分支和標簽操作都是復制一份副本。可能有人覺得,如果創建太多分支的話,不停的復制,服務器會不會太多東西了,負荷太重了,這個大可放心,svn的復制操作並不是真正的復制一份同樣的數據,而是一個“錢復制”,它只是創建了一個鏈接而已,一個到主干的 連接。在你對分支沒做任何修改之前,分支都只是一個鏈接,當你對分支的文件作了修改后,該文件在分支那才會真正的創建一個文件。

至此,分支已經創建完畢。

 

切換到分支,編輯分支內容

當你創建分支后,肯定是想在分支那修改東西。想修改分支的內容,要把本地的副本的切換到分支。操作步驟如下:

在本地工作區的package Explorer面板里,右擊要切換分支的文件,在彈出的菜單現在Team->切換,如圖:

 

彈出的切換界面如下:

在“至URL”選擇框里,選擇剛創建的分支。其他的選項默認。點擊“OK”,完成切換操作。此時,本地的peoject目錄已經切換到分支,而不再是主干了,當你修改提交時也是修改分支的文件。

合並分支到主干(合並主干到分支與此相同)

當你本地修改完文件並提交到分支后,下一步就是要同步到主干去。在同步到主干之前,確保本地的文件都有提交了。先把本地副本按第二部的操作切換到主干上去。

在分支下添加一個jsp頁面branchAdd.jsp,提交

 

切換到主干后,

就可以進行合並了。在本地右擊合並的文件,選擇Team->合並,如圖:

 

彈出如下的合並界面:

next

next

選中branchAdd.jsp,右鍵 -- team--提交

 

提交整個項目

至此,整個svn的分支與合並的操作已完成。

沖突解決
主干與分支,分別對branchAdd.jsp做了不同修改,再合並的時候,就會有沖突。需要標記為解決。

主干修改branchAdd.jsp

 

切換到分支shop2下,修改branchAdd.jsp

 

合並分支

在主干中右鍵項目--team--合並

 

選擇合並類型,我們選第2項,

 

上圖會顯示更新、修改 、沖突等信息

選中沖突文件,右鍵--team--標記為解決

 

然后對主干文件(工作空間文件)進行修改得到我們想要的效果

選中修改后的文件branchAdd.jsp,右鍵--team--標記為解決--比較選項不勾選--完成--提交branchAdd.jsp.

至此,沖突解決完成。

 

文件內容對比

如果希望知道分支文件對主干文件修改的具體內容,可做如下操作:

  1. 在相應的文件上點擊右鍵àcompare Withà分支/標記:(文件替換則用Replace with)

 

      2. 然后選擇分支中的文件:

     3. 點擊OK后,即可出現兩個文件的對比,並顯示不同地方:

注意事項

1.在建立分支的時候最好添加注釋。 

2.進行合並前最好保證兩個版本都是干凈的【即沒有未提交或者沖突的文件存在】 。

3. 合並之前,要先update,然后整個項目commit,保證兩個版本都是最新的,否則合並之前會提示更新或提交整個項目

4.合並時的目標路徑:需要把誰的改動合並到其他版本就填誰的URL。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM