1. 程式人生 > >2011-06-30 17:50 SVN裡恢復到某一天的版本操作

2011-06-30 17:50 SVN裡恢復到某一天的版本操作

大家好 我是GIS理想 最近有點累 更新博文有點落後了 明天就要七一了 一則為了給六月一個交代 二則又是恰逢黨的生日 糾結了半晌 還是提筆略記一篇吧 

SVN除了日常的程式碼提交 更新之外 很少做一些其他高階的操作 曾經想把整個庫的版本整體換到某天的全部程式碼 竟然不知道怎麼操作 …正好 文件人員有心 事隔許久 竟然主動告知我了 於是我當機立斷 才有了現在的奮筆疾書….呵呵 

閒話少扯 言歸正傳

第一步:對著你的專案 右鍵 –TortoiseSVN- Update to revision



第二部 選擇Show log

根據時間 選擇需要的版本號

然後 返回到第一步的那個截圖 在Revesion裡填上這個版本好 Ok就行了 

好了 這個簡單 收工!

---------------------------------------------------------------------------------------------------------------------

在程式碼的編寫過程中,難免有些錯誤需要修改,
或者想從以前的檔案進行程式碼修改,這樣就涉及到版本的追蹤,
如果你以前提交時日誌寫的非常清楚,那版本追蹤回滾起來就事半功倍、得心應手。
下面介紹幾種版本回滾的辦法:
1.推薦的一種方法是,直接export一個你需要的版本,然後用你export的版本覆蓋你的最新的版本,
這樣你就可以不丟失你新建的檔案,同時獲得最新的SVN版本控制。
操作步驟:TortoiseSVN→Show log→選中需要回滾的版本→右鍵→Export。之後將修改的檔案覆蓋到你的最新版本,commit即可。
2. 若是你編輯了工程,在沒有提交的前提下,你想放棄這些修改,你可以直接選擇TortoiseSVN→revert就可以更新到工程的最新的版本。
3. 若是你想退回到某一個版本,你就可以直接選擇TortoiseSVN→update to reversion,這樣我們就可以把我們的版本回退到你選中的版本去,
這種情況下SVN並沒有顯示出有什麼衝突,並且新建立的檔案也還在,但是在這種情況下你並不能直接在你回退後的版本上進行編輯,
因為SVN的版本控制還是在最新的主幹上。我們需要update並解決衝突。
 4.你可以直接選擇revert changes from this revision,
這樣的話你可以直接解決衝突並提交。不過這種方法的不足是,
你新建的檔案都沒有了,整個工程都回退到之前的版本了。
5.可以從日誌中回滾到你需要的版本,從日誌中選中你需要的版本,然後Update item to reversion就好了,這種情況下SVN並沒有顯示出有什麼衝突,並且新建立的檔案也還在,但是在這種情況下你並不能直接在你回退後的版本上進行編輯,因為SVN的版本控制還是在最新的主幹上。我們需要update並解決衝突。