回滚subversion历史条目

时间:2011-11-16 11:27:42

标签: svn ankhsvn

今天我尝试从subversion(版本号140)加载我的项目的先前版本,但却发现在版本#120中发生了错误的提交:尝试从版本120开始加载任何版本的项目导致丢失因此,有效地,修订120+是无法使用的。

但是,我仍然有一个完全正确的未提交的工作副本,计划在visual studio中修改141。

我对SVN的命令不太熟悉,不想填写它! 什么是将存储库恢复到可行状态并使HEAD版本更新以匹配我的工作副本/ 141的最佳策略?

我在VS2010中使用AnkhSVN 2.3。服务器不是本地服务器,但我可以访问SVN的命令行。

谢谢!

p.s我假设我将丢失修订版120-140:只要提交141适用于120-140中的所有净更改,这是好的。

2 个答案:

答案 0 :(得分:3)

我不确定你的错误提交是什么意思,但是你可以考虑执行“反向合并”,这将是rev 141,你可以更新你的工作副本并将其作为rev 142。

取决于您的SVN客户端,有更简单的方法来实现这一目标。在Tortoise SVN中,您可以打开日志,选择rev 119,右键单击并选择“还原到此版本”

如果您使用的是命令行,请查看单独的工作副本,转到工作副本,然后执行反向合并

svn merge -r HEAD:119 http://your_svn_url

请考虑阅读有关“撤消更改”一章的http://svnbook.red-bean.com/


更新:我输错了119为199

答案 1 :(得分:0)

AnkhSVN历史记录查看器具有“从此版本还原更改”和“还原到此版本”选项,可自动处理这些方案。

对于r119,此版本的还原更改等同于svn merge -c -r119 http://your_svn_url(-c r119相当于-r 119:118)

此版本的恢复等同于svn merge -r HEAD:119