1. 程式人生 > >svn程式碼回滾命令

svn程式碼回滾命令

取消對程式碼的修改分為兩種情況: 第一種情況:改動沒有被提交(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。

注意:在當前分支目錄且想檢測或回滾所有檔案時,something可以用"."代替。