svn取消本地代碼的修改__svn
來源:互聯網
上載者:User
第一種情況:改動沒有被提交(commit)。 這種情況下,使用 svn revert就能取消之前的修改。 svn revert用法如下: # svn revert [-R] something 其中something可以是(目錄或檔案的)相對路徑也可以是絕對路徑。 當something為單個檔案時,直接 svn revert something就行了;當something為目錄時,需要加上參數-R(Recursive,遞迴),否則只會將something這個目錄的改動。 在這種情況下也可以使用 svn update命令來取消對之前的修改,但不建議使用。因為 svn update會去串連倉程式庫伺服器,耗費時間。 注意: svn revert本身有固有的危險,因為它的目的是放棄未提交的修改。一旦你選擇了恢複,Subversion沒有方法找回未提交的修改。 第二種情況:改動已經被提交(commit)。 這種情況下,用 svn merge命令來進行復原。 復原的操作過程如下: 1、保證我們拿到的是最新代碼: svn update 假設最新版本號碼是28。 2、然後找出要復原的確切版本號碼: svn log [something] 假設根據 svn log日誌查出要復原的版本號碼是25,此處的something可以是檔案、目錄或整個項目 如果想要更詳細的瞭解情況,可以使用 svn diff -r 28:25 [something] 3、復原到版本號碼25: svn merge -r 28:25 something 為了保險起見,再次確認復原的結果: svn diff [something] 發現正確無誤,提交。 4、提交復原: svn commit -m " Revert revision from r28 to r25,because of ..." 提交後版本變成了29。 將以上操作總結為三條如下: 1. svn update, svn log,找到最新版本(latest revision) 2. 找到自己想要復原的版本號碼(rollbak revision) 3. 用 svn merge來復原: svn merge -r : something