1. 程式人生 > >SVN中 update to revision與revert to revision的區別

SVN中 update to revision與revert to revision的區別

假設我們有許多個版本,版本號分別是1-10
如果我們在7這裡選擇revert to this version那麼7之後的8,9,10的操作都會被消除
如果在7選擇revert changes from this version那麼7版本的修改將會被消除
如果同時選擇7,8 revert changes from this version那麼7和8兩個版本的所做的修改都會被消除

update to revision和revert to revision很像,都會融合你本地未提交的修改。它們2個的區別是:
revert to revision會把這個rev作為最新版本,而update to revision不會。
所以 revert to revision 相當於 先update to revision,然後copy該內容到其他地方,然後update,然後再把內容覆蓋回來。

如果update to revision的話,這時svn庫中並不會生成新的版本,這個時候再commit的話還是在之前最新版本的基礎上進行commit。下次svn up之後,還是會回到當前的版本。
如果revert to revision 的話,這時再commit會提交至伺服器一個revert到當前版本內容的新的版本,下次svn up之後,會回到revert之後的新的版本。

所以如果你想永久恢復到以前的某個版本,就用revert to revision
如果你只是想臨時恢復到以前的某個版本,那麼就用update to revision
update to revision比revert to revision要常用得多