使用TortoiseSVN进行回滚

使用TortoiseSVN进行回滚. 很明显, 这种方法只适用于windows平台. 以下摘自 TortoiseSVN文档:

B.4. 回滚版本库里的版本
B.4.1. 使用版本日志对话框
如果想恢复某个版本或者版本范围的变更,最简单的方法是使用版本日志对话框。这种方法也可以用来撤销最近的若干次变更,把以前的某个版本变成最新版。

选中想要恢复变更的文件或者文件夹。如果想要恢复所有的变更,需要选中最顶层的文件夹。

选择TortoiseSVN → 显示日志,显示出版本列表。有可能需要使用全部显示或者下100 按钮,把想要恢复的版本显示出来。

选中想要恢复的版本。如果想要恢复一个版本范围,选中想要恢复的第一个版本,按住shift键,然后选中想要恢复的最后一个版本。注意,当恢复多个版本的时候,这些版本必须在列表中是连续的。用鼠标右键点击选中的版本(段),然后选择右键菜单 → 恢复这些版本的变更。

如果想要把以前的某个版本变成最新版本,右键点击选中的版本(范围),然后选择右键菜单 → 恢复到此版本。就能够撤销被选中版本后面所有的变更。

工作拷贝已经恢复到了变更以前的状态。检查恢复后的结果,然后提交变更。

B.4.2. 使用合并对话框
如果要撤销更大版本范围的变更,可以使用合并对话框。上一个方法在后台使用了合并的机制,在这个方法里我们直接使用合并功能。

在工作拷贝上选择TortoiseSVN → 合并。

在起始:文本框里输入想要恢复的变更所在的分支或标签的URL。它也将作为默认URL。

在起始版本文本框里输入当前工作拷贝的版本号。如果能够保证没有其他人会提交变更,可以使用最新版本。

确认使用“起始:”的 URL检查框处于被选中的状态。

在结束版本里输入想要恢复到的版本号。比如,想要恢复的最小版本号的前一个版本号。

点击合并按钮完成合并。

工作拷贝已经恢复到了变更以前的状态。检查恢复后的结果,然后提交变更。

B.4.3. 使用svndumpfilter
因为TortoiseSVN绝不会丢弃数据,所以那些被回滚的版本仍然以中间版本的形式被保留在版本库里。只是最新版本已经回到了以前的状态。如果想让版本库里的某些版本彻底消失,擦去这些版本曾经存在过的所有痕迹,就必须采取更极端的手段。不推荐使用这种方法,除非有很好的理由。比如某人向一个公开的版本库里提交了一份机密文件。

从版本库里删除数据的唯一方法就是使用svnadmin这个Subversion命令行工具。具体如何实现请参考Subversion手册。

posted on 2012-03-20 15:08  jndream  阅读(7022)  评论(0编辑  收藏  举报