SVN 版本回退

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

svn revert 操作將撤銷任何檔案或目錄裡的區域性更改。

我們對檔案 readme 進行修改,檢視檔案狀態。

root@itread01:~/svn/itread0101/trunk# svn status
M       readme

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

root@itread01:~/svn/itread0101/trunk# svn revert readme 
Reverted 'readme'

再檢視狀態。

root@itread01:~/svn/itread0101/trunk# svn status 
root@itread01:~/svn/itread0101/trunk# 

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

svn revert -R trunk

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

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

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

svn merge -r 22:21 readme