我如何恢复到以前的SVN提交?

假设我在修订版本50.但是,我想恢复到修订版本45,并作为稳定版本提交回来。

我如何以最简单的方式做到这一点?

  1. 如果我想用一个文件做到这一点呢?
  2. 如果我想用整个存储库来做到这一点呢?

我不确定你的意思是“提交作为稳定版本”,但取决于你想完成什么,我建议:

svn更新-r45
这将在修订版45中重新打印您的工作副本。

要么:

svn merge -c -50,-49,-48,-47,-46
这将通过删除45到50之间的所有更改来更新(通过反向合并)您的工作副本。现在,如果您进行了更改并提交,那么您将从存储库中删除46-50,并创建了HEAD修订版本(51 ?)是r45 +你的改变。

反向合并您要撤销的修订。 这可以在一个或多个文件上完成。 通过反向合并,您的工作副本被更改为没有该修订的状态,然后您可以提交。

你可以简单地使用修改更新

svn up -r 45 

但是这不会让你提交更改,因为SVN需要你在你提交之前将你的工作副本更新到HEAD。 你可以做什么,而不是

 svn merge -r HEAD:45 yourFile svn ci yourFile -m "Reverting back to rev 45" 

我认为一个简单的方法应该是这样的:

  • 结帐修订版本45到临时目录
  • 将一个或多个文件复制到您的工作目录
  • 承诺