SVN分支與合併問題

2021-05-28 00:11:28 字數 1048 閱讀 5738

svn分支與合併是在學習svn過程中經常要遇到的問題,在這裡和大家分享一下,希望通過本文的介紹,大家對svn分支與合併有新的理解。

svn分支與合併

合併合併的工作是把主線或者分支上合併範圍內的所有改動列出,並對比當前副本的內容,由合併者手工修改衝突。如果當前工作副本是主線的,則合併的範圍是分支上的改動,如果工作副本是分支的,則合併範圍是主線上的改動

(1)主幹合併到分支

看一下svn分支與合併中主幹如何合併到分支。如果是需要將主線的改動合併到分支上,需要在分支的工作副本下進行合併,合併的範圍是需要從主線上上次合併的版本到當前主線上最新的版本,如果主線和分支都修改了相同的檔案,合併後會出現衝突,然後解決衝突,如果主線修改但是分支沒有修改,則主線上合併的變更內容會增加到當前副本中,提交,如果是第一次合併,則起始版本號是上次建立分支的版本號

(2)分支合併到主幹

如果是需要將分支的改動合併到主線上,需要在主線的工作副本下進行合併,合併的範圍是需要從分支上上次合併的版本到當前分支上最新的版本,合併後會出現衝突(衝突的前提如上種情況),然後解決衝突,提交,如果是第一次合併,則起始版本號是上次建立分支的版本號

svn分支與合併中合併分支時很關鍵的一點

在使用tortoisesvn對subversion進行分支合併時,merge介面上有兩個選項:from和to。這兩個選項應該如何設定呢?

對於合併的這操作,subversion上對其有如下的解釋:

引用為了表示你的分支上的修改,你只需要比較分支的初始狀態與最終狀態,在你的分支上使用svnlog命令,你可以看到你的分支在341版本建立,你的分支最終的狀態用head版本表示,這意味著你希望能夠比較版本341和head的分支目錄,然後應用這些分支的修改到主幹目錄的工作拷貝。

其實使用這個功能後的過程是把to的版本和from版本進行對比,然後把之間的差異合併到當前的版本中。比如要把乙個分支的修改全部給合併進來,from就應該選擇主線建立了分支的那個版本,to就應該選擇分支的head版本。如果版本選擇的不正確,比如說from選擇了主線的head版本,就會把所有分支和主線head不同的檔案都覆蓋到主線上來,造成主線上修改資訊的丟失。本節關於svn分支與合併內容介紹完畢。

SVN分支與合併

合併 合併的工作是把主線或者分支上合併範圍內的所有改動列出,並對比當前副本的內容,由合併者手工修改衝突。如果當前工作副本是主線的,則合併的範圍是分支上的改動,如果工作副本是分支的,則合併範圍是主線上的改動 1 主幹合併到分支 如果是需要將主線的改動合併到分支上,需要在分支的工作副本下進行合併,合併的...

SVN分支與合併

一些相關的概念和原理 分支 branch 和標記 tag 對於 svn 來說就只是副本 copy 沒有任何其它意義。分支和標記的意義是我們人為給予的。svn 的副本是通過 cheap copies 來實現的,建立乙個副本就類似 unix 中建立乙個硬鏈結 hard link 空間和時間的消耗都是固定...

SVN分支與合併

一些相關的概念和原理 分支 branch 和標記 tag 對於 svn 來說就只是副本 copy 沒有任何其它意義。分支和標記的意義是我們人為給予的。svn 的副本是通過 cheap copies 來實現的,建立乙個副本就類似 unix 中建立乙個硬鏈結 hard link 空間和時間的消耗都是固定...