2012-06-20 80 views
1

如何恢復具有以下情況的提交?還原SVN中的提交?

Revision 3, Commit Message 
Revision 2, Commit Message 
Revision 1, Commit Message 

修訂2是一個錯誤的提交,我想刪除它。怎麼樣?

回答

5

您可以通過反向撤消合併提交在SVN:

假設你有從樹幹檢出了一份工作副本:

svn merge -c -2 URL/trunk 

這將撤消您在所做的更改修訂版2並留下您需要提交的更改的工作副本。

這不會更改歷史記錄,因爲在SVN中無法更改已檢入修訂版的歷史記錄。只有通過存儲庫服務器上的轉儲/加載循環才能完全刪除我不能推薦的修訂版本。

+0

3和1會發生什麼? – vinnylinux

+0

他們將保持不動。你只能得到從1到2的增量,並在你的工作副本上以相反的順序應用它們。而已。 – khmarbaise

2

在結帳:

svn merge -r2:1 path/to/checkout 
    svn ci -m'Undo changes in rev 2 ' path/to/checkout 

如果你想它完全擺脫了回購,則需要轉儲,過濾&其裝載到回購的服務器上一個新的。