SVN版本控制——SVN 合並的六種方式


合並的工作是把主干或者分支上合並范圍內的所有改動列出,並對比當前工作副本的內容,由合並者手工修改沖突,然后提交到服務器的相應目錄里。如果當前工作副本是主干,則合並的范圍是分支上的改動,如果工作副本是分支的,則合並范圍是主干上的改動,並且一定要注意,合並的起始位置URL一定要和當前的工作副本的URL是相同的。

 

一、合並一個范圍的版本  Merge a range of revisions

    此類型應用最為廣泛,主要是把分支中的修改合並到主干上來。在主干上點擊右鍵選擇合並,然后選擇合並類型:合並一個范圍的版本。

合並的源URL填寫的是要合並的分支的URL,待合並的版本范圍如果為空,則指的是合並分支上所有的版本,即自從分支創建以來到分支當前最新版本的所有演變。如果只是選擇其中一個版本,或者幾個版本,那么就表示只是將制定的n個版本的變化合並到主干上。如果只是選擇其中一個版本,那么表示只是選擇那個版本的修改,之前或之后的修改將不被采納。

 

二、復興合並 Reintegrate a branch

    復興合並可以理解為是第一種合並類型的一種特例,在復興合並中,主干可以理解為是自從開創分支之后沒有任何修改,而分支是經過修改的,而且合並中分支是沒有版本選擇的。經過復興合並,分支中所有的修改都會合並到主干中,合並的結果將使得分支和主干一模一樣,從而可以刪除分支。

 

三、合並兩個不同的樹 Merge two different trees

    此類型與前兩種類型不同,第一種類型可以選擇分支合並的版本,主干不能選擇版本;第二種類型是主干和分支都不能選擇合並的版本;而這種類型則是無論是主干還是分支都可以選擇合並的版本,即可以選擇過去的一個主干版本與分支的某個版本進行合並。合並的時候以選擇的分支版本為主,如果選擇的主干版本與分支版本有不同的地方,合並時主干部分將被放棄。

起始URL:選擇主干目錄的URL(應當和當前工作副本的URL一致,這個是所謂的合並點)

結束URL:選擇要合並的分支的URL。

起始和結束的版本:一般起始版本應當找到最后一次同步時的版本,如果從沒有同步過(第一次合並),則選擇創建分支時的版本,結束版本一般是最新版本,如果你不想將某些內容合並進主干的話,也可以選擇一個合並點。

 

4.Merge two different trees (需要下載Collabnet軟件)

 

 

5.Manually record merge information    (手工指定不需要合並的修改)

6.Manually remove merge information    (手工指定要合並的修改)

 

 

將分支合並到主干上,首先需要在主干的工作副本下進行,合並的范圍是從主干的上次合並的版本開始到分支上最新的版本結束,如果是第一次合並,則從主干創建分支的版本開始,所以每次合並要做好說明,在日志中體現,不然忘記了下次再合並就有點麻煩。其實,應當盡量避免一個分支合並多次,分支的作用一般為了解決bug,一旦bug對應結束了,分支的使命就結束了,以后再出現其他的問題,應當重新建立分支,這樣就不會出現多次合並的問題了。

 
 


免責聲明!

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



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