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命令來進行回滾。 
   回滾的操做過程以下: 
   一、保證咱們拿到的是最新代碼: 
     svn update 
     假設最新版本號是28。 
   二、而後找出要回滾的確切版本號: 
     svn log [something]
     假設根據svn log日誌查出要回滾的版本號是25,此處的something能夠是文件、目錄或整個項目
     若是想要更詳細的瞭解狀況,可使用svn diff -r 28:25 [something]
   三、回滾到版本號25:
       svn merge -r 28:25 something
     爲了保險起見,再次確認回滾的結果:
       svn diff [something]
     發現正確無誤,提交。
   四、提交回滾:
     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
相關文章
相關標籤/搜索