1. 程式人生 > >svn commit後回滾撤銷修改

svn commit後回滾撤銷修改

      在團隊合作開發中,如果用錯命令提交(commit)了一個不該提交的程式碼檔案的話,那就進行程式碼回滾吧,我當時就使用svn commit -m "fix onebug" \誤操作將所有檔案給提交了,有些檔案是不應該提交的。下面我們來回滾吧,將你提交的檔案回退到以前的版本,假設我要回滾的程式碼是 something.php:

   1、保證我們拿到的是最新程式碼: 

      svn update 

      假設最新版本號是5730。 

   2、然後找出要回滾的確切版本號: 

     svn log --limit 3 -v something.php

     --limit 3 的意思是顯示最新的三個版本

     根據svn log日誌查出要回滾的版本號是2589,此處的-v後面可以是檔案、目錄或整個專案

    下面比較一下這兩個版本程式碼的異同情況:

     svn diff -r 5730:2589 something.php     

   3、回滾到版本號2589:

       svn merge -r 5730:2589 something.php

       為了保險起見,再次確認回滾的結果:

       svn diff something.php ,正常的話,現在的something.php這個檔案的版本是2589的,這個命令可以看出

       在你的工作目錄下的something.php檔案和版本庫中最新版本的異同。

       發現正確無誤,提交。

   4、提交回滾後的檔案:

     svn commit -m "Revert revision from r5730 to r2589,because of ..." something.php

     提交後something.php的版本變成了5781。

     再次比較新版本5781和2589之間的異同,檢查成功與否,如果成功則沒有任何輸出。

     svn diff 5781:2589 something.php  ,說明版本庫中的something.php和它以前正確的版本一樣了,你對這個檔案的修改也撤銷了。