2013-07-03 75 views
3

我們有一個運行SVN的存儲庫。在某個時刻,爲了添加一個特性(讓我們稱之爲'分支'),我們從主幹創建了一個開發分支(我們稱之爲'trunk')。撤銷SVN中不希望的合併

我們一直在做我們的工作並致力於分支,偶爾我們會將樹幹中所做的更改合併到分支中,以使樹枝保持最新狀態。

在某些時候,trunk中的修訂版本75051到77691被合併到分支中,並且提交保持在分支上,在分支中提交新代碼。

但現在我們想要的分支是最新與軀幹最多隻能修訂77089,也就是我們要撤消分支中的變化,由於我們做了合併,而只是改變了由於rev77089- 77691,而不會影響分行所做的所有工作。有任何建議可以恢復或取消由於中繼中的rev77089-77691而引起的分支更改?非常感謝你。

回答

5

您可以撤消更改,只需使用反向範圍在svn merge命令:

$ svn revert -R . #Remove all changes made 
$ svn update  #and make sure up to date 
$ svn merge -r77691:77088 . 

這將讓您的工作目錄中排除的變化,從77089至77691。

或者你可以一次撤銷合併一個版本:

$ svn merge -c -77691 . 
$ svn merge -c -77690 . 
$ svn merge -c -77689 . 
2

除了大衛·W的答案(+1爲):如果您使用TortoiseSVN,你可以打開日誌(背景菜單:顯示日誌branch,標記所有不再網絡版本並進行回覆(上下文菜單:恢復此版本的更改)。