如何回退到之前的SVN提交版本?

13

假设我现在处于第50个版本。但是,我希望回到版本45,并将其作为稳定版本提交。

最简单的方法是什么?

  1. 如果我只想这样做针对一个文件怎么办?
  2. 如果我想要对整个代码库这样做怎么办?

可能是重复的问题,参考将svn文件夹还原到以前的版本。请注意,svn不在乎目标是文件,文件夹还是存储库的根目录。 - sbi
4个回答

27

我不确定你所说的“提交回稳定版本”的意思是什么,但根据你想要实现的目标,我建议:

svn update -r45
这将将您的工作副本重定位到版本45。

或者:

svn merge -c -50,-49,-48,-47,-46
这将通过反向合并更新(删除)您的工作副本中版本45到50之间的所有更改。现在,如果进行更改和提交,就好像您已经从存储库中删除了46-50,并使HEAD修订版(51?)成为r45 +您的更改。


4
反向合并那些你想要撤销的版本。这可以在一个或多个文件上完成。通过反向合并,你的工作副本将变为没有该版本的状态,然后你可以提交修改。请参考反向合并

2

您可以使用以下方法简单地更新到修订版本:

svn up -r 45

但是这样做并不能让你提交更改,因为SVN需要你将工作副本更新到HEAD后才能提交。相反,你可以这样做:

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

-2
我认为一个简单的方法应该是这样的:
  • 将修订版45检出到临时目录
  • 复制一个或所有文件到您的工作目录
  • 提交

请查看SVN书中的“为什么不使用补丁?”一节,了解为何应避免手动合并。 - sbi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接