2012-06-20 77 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 

如果你想它完全摆脱了回购,则需要转储,过滤&其装载到回购的服务器上一个新的。