如何在Google Code中回滚

时间:2012-02-25 04:20:45

标签: svn ankhsvn google-code

我在Google Code中托管了一个项目。 我正在使用AnkSvn开发Visual Studio。

我意外删除了一个文件并提交了。

虽然,我可以从代码历史中下载已删除文件的副本,但我认为回滚是一个更好的主意。

或者换句话说,我希望我的项目回到r22,而最新的(已损坏的)版本已经转到r24。

我不熟悉SVN或Google Code,所以我该如何进行回滚?或者有关使用SVN的建议?

3 个答案:

答案 0 :(得分:1)

右键单击解决方案资源管理器中的解决方案,打开“解决方案历史记录”。从上下文菜单中选择“查看解决方案历史记录”。

您可以在此处右键单击svn修订版并回滚到该修订版,或撤消特定修订版。因此,在您的情况下,选择r23和r24并使用“从此修订版还原更改”,或右键单击r22并选择“还原到此修订版”

答案 1 :(得分:0)

有关如何使用svn命令行的信息,请参阅http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchmerge.basicmerging.undo

  

svn merge的一个非常常见的用途是回滚更改   已经承诺了。假设你正在愉快地工作   / calc / trunk的工作副本,你发现改变了   回到版本303,改变了integer.c,是完全错误的。它   永远不应该承诺。您可以使用svn merge来“撤消”   更改工作副本,然后提交本地修改   存储库。您需要做的就是指定反向差异。   (您可以通过指定--revision 303:302或等效项来完成此操作    - 改变-303。)

我不知道Ankhsvn,但是在Tortoisesvn中,您可以显示给定目录或文件的日志,选择其中一个版本,右键单击并选择还原到此版本还原此修订版中的更改。也许在Ankhsvn中存在类似的东西。

答案 2 :(得分:0)

如果您只想撤消删除单个文件,但保留其余的提交,则可以svn cp -R<Revisionnumber before the file was deleted> <URL of the file> .重新生成该文件。这会创建一个历史记录,将已删除文件的“副本”保留到工作副本中。

由于我不知道AnkSvn,我描述了使用GUI工具创建此类副本的Tortoise-SVN方法,并希望AnkSvn以类似的方式行事。

您打开存储库资源管理器,然后在删除之前选择修订版本(搜索按钮以选择其中显示的修订版本)。然后将文件从存储库复制到工作副本中(在TortoiseSVN中,这可以通过鼠标右键拖动)。