SVN 版本回退


當我們想放棄對檔的修改,可以使用 SVN revert 命令。

svn revert 操作將撤銷任何檔或目錄裏的局部更改。

我們對檔 readme 進行修改,查看檔狀態。

root@zaixian:~/svn/zaixian01/trunk# svn status
M       readme

這時我們發現修改錯誤,要撤銷修改,通過 svn revert 檔 readme 回歸到未修改狀態。

root@zaixian:~/svn/zaixian01/trunk# svn revert readme
Reverted 'readme'

再查看狀態。

root@zaixian:~/svn/zaixian01/trunk# svn status
root@zaixian:~/svn/zaixian01/trunk#

進行 revert 操作之後,readme 檔恢復了原始的狀態。 revert 操作不單單可以使單個檔恢復原狀, 而且可以使整個目錄恢復原狀。恢復目錄用 -R 命令,如下。

svn revert -R trunk

但是,假如我們想恢復一個已經提交的版本怎麼辦。

為了消除一個舊版本,我們必須撤銷舊版本裏的所有更改然後提交一個新版本。這種操作叫做 reverse merge。

首先,找到倉庫的當前版本,現在是版本 22,我們要撤銷回之前的版本,比如版本 21。

svn merge -r 22:21 readme