2012-02-25 56 views
2

我有一个在Google代码中托管的项目。 我正在使用AnkSvn的Visual Studio。如何在谷歌代码中回滚

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

虽然,因为,我可以从代码历史下载已删除文件的副本,我认为回滚是一个更好的主意。或者换句话说,我想让我的项目回到r22,而最新的(损坏的)版本转到r24。

我对SVN或谷歌代码都不熟悉,所以如何执行回滚?或者有关使用SVN的建议?

回答

1

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

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

+0

是的,这给了我一个方向。在做完你说的话之后,我看到损坏文件的图标变成红色方块。然后我承诺,它说我的版本已过时,需要先更新。更新后,图标显示文件冲突。我右键单击该文件,选择“解决”,然后选择“我的文件”。然后我再次提交,现在就成功! – Gqqnbig 2012-03-21 16:04:07

0

请参阅如何使用SVN命令行做http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchmerge.basicmerging.undo

的SVN的合并极为常见的用途是回滚一个变化是 已经提交。假设你在/ calc/trunk的 工作副本上愉快地工作,并且发现在修订303中改变了方式 ,修改后的integer.c完全是错误的。它从来不应该犯下。您可以使用svn merge来撤消工作副本中的 更改,然后将存储库的本地修​​改提交到 。所有你需要做的是指定一个反向差异。 (您可以通过指定--revision 303做到这一点:302,或等效 --change -303)

我不知道AnkhSVN的,但在TortoiseSVN中,您可以显示日志选择其中一个版本,右键单击并选择还原到此版本还原此修订版本中完成的更改。也许在Ankhsvn有类似的东西存在。

0

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

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

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