在eclipse里面使用SVN,怎么实现版本回滚

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在eclipse里面使用SVN,怎么实现版本回滚相关的知识,希望对你有一定的参考价值。

在eclipse里面使用SVN实现版本回滚的方法:

一、如果有本地修改,需提交到远程svn服务器或撤销修改;

二、更新本地代码,保持和远程代码一致,如下图:

    

三、svn team右键显示历史资源记录

四、选中要回滚的版本,右键点击回复更改

五、svn提交修改,生成一个回滚后的最新版本。

参考技术A 据我所知Eclipse里面的SVN是以插件的形式存在,不具有回退功能,建议使用客户端TortoiseSVN进行相关操作。
具体步骤:
安装TortoiseSVN----->在本地副本的文件或目录的图标上单击鼠标右键---->TortoiseSVN---->showlog——>找到想还原到的版本号或者说节点------->右键,复原到此版本
参考技术B

在eclipse里面使用SVN,可以通过副本文件中找到要还原的版本复制即可。

详细如下:

    如果有本地修改,需提交到远程svn服务器或撤销修改;

2. 更新本地代码,保持和远程代码一致,如下图;

3. svn team右键显示历史资源记录;

4. 选中要回滚的版本,右键点击回复更改;

5. svn提交修改,生成一个回滚后的最新版本。

在 Eclipse 中使用 svn 回滚错误的更改

【中文标题】在 Eclipse 中使用 svn 回滚错误的更改【英文标题】:Rolling back bad changes with svn in Eclipse 【发布时间】:2010-09-07 08:25:21 【问题描述】:

假设我对 Subversion 存储库进行了一些错误的更改。然后我提交了我想要保留的好的更改。

在 Eclipse 中回滚那些不好的更改并保留好的更改的最简单方法是什么?假设与不良更改有关的文件与与良好更改有关的文件不同。如果对相同的文件进行好的更改与坏的更改一样,情况会如何变化?

我主要是通过 Eclipse 插件(Subclipse 或 Subversive)寻找一种方法,但命令行命令也很有趣。

【问题讨论】:

【参考方案1】:

在 Eclipse Ganymede(子剪辑)中

选择包含错误更改的项目/文件,然后从弹出菜单中选择:

团队 -> 显示历史

与该项目/文件相关的修订将显示在“历史记录”选项卡中。

查找提交“错误更改”的修订并从弹出菜单中选择:

还原版本 X 的更改

这会将在错误修订中修改的文件中的更改与错误修订之前的修订合并。

这里有两种情况:

    如果您没有对该文件提交任何更改(错误修订是该文件的最后一个修订),它只会删除在错误修订中所做的更改。这些更改会合并到您的工作副本中,因此您必须提交它们。

    如果您为该文件提交了一些更改(错误的修订不是该文件的最后修订),您将不得不手动解决冲突。假设您有文件 readme.txt,错误的修订号是 33。此外,您在修订版 34 中对该文件进行了另一次提交。选择 Revert Changes from Revision 33 后,您将在您的工作副本中包含以下内容:

readme.txt.merge-left.r33 - 错误修订

readme.txt.merge-right.r32 - 错误修订之前

readme.txt.working - 工作副本版本(如果您没有任何未提交的更改,则与 r34 相同)

原始的 readme.txt 将被标记为冲突,并且将包含带有一些标记(

团队 - 标记已解决

临时文件将被删除,您的文件将被标记为已更改。与 1 一样,您必须提交更改。

请注意,这不会从 svn 存储库的修订历史记录中删除修订。您只需进行新的修订,将错误修订的更改删除即可。

【讨论】:

【参考方案2】:

您有两种选择。

Quick and Dirty 是在 Project Explorer 视图中选择您的文件(使用 ctrl),右键单击它们,选择 Replace with...,然后从 Latest from Repository 中选择最适合您的选项,或一些Branch 版本。获取这些文件后,您修改它们(使用空格或修复某些内容,调用并提交它们以创建更新的修订版。

更简洁的方法是在团队菜单中选择Merge 并浏览向导,这将帮助您在实际修订中恢复旧版本。

这两个命令都有对应的命令行:svn revertsvn merge

【讨论】:

最新来自存储库的是错误签入的,所以我看不出它应该在哪里有帮助。除此之外,eclipse 不想帮助您解决这个问题,因为如果您选择多个文件(可能是因为它们的最新版本不同),则只有提及选项可用。【参考方案3】:

如果您想一次处理 1 个文件,假设您安装了 Eclipse SVN 插件,您可以转到该文件的历史记录视图。 “团队->显示历史”

在历史视图中,找到该文件的最后一个好版本,右键单击并选择“获取内容”。这将用该版本的内容替换您当前的版本。然后,您可以在全部修复后提交更改。

【讨论】:

【参考方案4】:

在 Eclipse 中使用 Subversive:

右键单击您的项目>团队>合并

在合并窗口中,选择您要正常还原的修订,同时启用复选框“反向合并”。

正常合并。

【讨论】:

【参考方案5】:

我已经写了几篇关于这个主题的博客文章。一种以 Subclipse 为中心:http://markphip.blogspot.com/2007/01/how-to-undo-commit-in-subversion.html,一种以命令行为中心:http://blogs.collab.net/subversion/2007/07/second-chances/

【讨论】:

【参考方案6】:

svnbook 有一节介绍 Subversion 如何允许您从特定修订版还原更改而不影响后续修订版中发生的更改:

http://svnbook.red-bean.com/en/1.4/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo

我很少使用 Eclipse,但在 TortoiseSVN 中,您可以从日志对话框中执行此操作;只需右键单击要还原的修订,然后选择“从该修订还原更改”。

如果您要恢复“不良更改”的文件在后续修订中具有“良好更改”,则过程相同。 “坏”修订版的更改将被还原,而“好”修订版的更改保持不变,但是您可能会遇到冲突。

【讨论】:

【参考方案7】:

我有同样的问题,但 CleanUp eclipse 选项对我不起作用。

1) 安装 TortoiseSVN 2)转到Windows资源管理器并右键单击您的项目目录 3 选择清理选项(通过检查中断锁定选项)

它的作品。

希望这对某人有所帮助。

【讨论】:

以上是关于在eclipse里面使用SVN,怎么实现版本回滚的主要内容,如果未能解决你的问题,请参考以下文章

在eclipse里面使用SVN,怎么实现版本回滚

在eclipse里面使用SVN,怎么实现版本回滚

svn上想回滚代码怎么办

svn 被回滚的代码怎么重新提交

svn上想回滚代码怎么办

svn 已经提交代码,要想撤回提交该怎么操作