SVN分支版本回滾

首先說明SVN是沒有回滾這種操作的,我們只能通過一些操作來達到回滾的目的。

問題描述:假設在開發分支上有需求A和需求B,需求A需要近期上線,需求B近期不可以上線,但是某個同事將代碼從開發合併到測試分支的時候在一個版本號內將A代碼和部分B代碼一起合併了,這個操作記爲M。如果這個版本合併到生產分支,那麼B部分代碼將上生產,將產生不可恢復性的錯誤。因此需要將測試分支回滾到合併之前的最後一個版本。

解決方案:

1、找到svn服務器上的測試分支default1.0-->顯示資源歷史記錄-->操作M對應版本號之前的一個版本號(就是需要被回滾的版本號)-->

從修訂版創建分支/標記

路徑放在當前文件路徑下,名字不要跟測試當前分支名稱一致。我起的名叫default3.0


2、將測試分支default3.0 check out到本地,重新合併代碼,這裏需要執行M操作的開發人員手動將耦合在一起的版本拆分,具體操作就是本地將需求B代碼都註釋或者刪掉,提一次。恢復後再提一次,這樣就是兩個需求,兩個版本。

3、將原default1.0改名或者刪掉,建議改名,留個備份,將default3.0改名爲default1.0,完成替換。這樣就完成了svn代碼分支的回滾,外部是無感知的,還是原來的default1.0,只不過內容已經變了。