svn代码回滚命令
http://www.cnblogs.com/jndream/archive/2012/03/20/2407955.html
取消對(duì)代碼的修改分為兩種情況: 第一種情況:改動(dòng)沒有被提交(commit)。 這種情況下,使用svn revert就能取消之前的修改。 svn revert用法如下: # svn revert [-R] something 其中something可以是(目錄或文件的)相對(duì)路徑也可以是絕對(duì)路徑。 當(dāng)something為單個(gè)文件時(shí),直接svn revert something就行了;當(dāng)something為目錄時(shí),需要加上參數(shù)-R(Recursive,遞歸),否則只會(huì)將something這個(gè)目錄的改動(dòng)。 在這種情況下也可以使用svn update命令來取消對(duì)之前的修改,但不建議使用。因?yàn)閟vn update會(huì)去連接倉庫服務(wù)器,耗費(fèi)時(shí)間。 注意:svn revert本身有固有的危險(xiǎn),因?yàn)樗哪康氖欠艞壩刺峤坏男薷?。一旦你選擇了恢復(fù),Subversion沒有方法找回未提交的修改。 第二種情況:改動(dòng)已經(jīng)被提交(commit)。 這種情況下,用svn merge命令來進(jìn)行回滾。? 回滾的操作過程如下:? 1、保證我們拿到的是最新代碼:? svn update? 假設(shè)最新版本號(hào)是28。? 2、然后找出要回滾的確切版本號(hào):? svn log [something] 假設(shè)根據(jù)svn log日志查出要回滾的版本號(hào)是25,此處的something可以是文件、目錄或整個(gè)項(xiàng)目 如果想要更詳細(xì)的了解情況,可以使用svn diff -r 28:25 [something] 3、回滾到版本號(hào)25: svn merge -r 28:25 something 為了保險(xiǎn)起見,再次確認(rèn)回滾的結(jié)果: svn diff [something] 發(fā)現(xiàn)正確無誤,提交。 4、提交回滾: svn commit -m "Revert revision from r28 to r25,because of ..."? 提交后版本變成了29。 將以上操作總結(jié)為三條如下: 1. svn update,svn log,找到最新版本(latest revision) 2. 找到自己想要回滾的版本號(hào)(rollbak revision) 3. 用svn merge來回滾: svn merge -r : something總結(jié)
- 上一篇: volatile和final
- 下一篇: ADB server didn't AC