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和它以前正確的版本一樣了,你對這個檔案的修改也撤銷了。