首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Eclipse中使用svn回滚错误的更改

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

Stack Overflow用户
提问于 2008-08-30 14:22:55
回答 6查看 102.7K关注 0票数 82

假设我向Subversion存储库提交了一些糟糕的更改。然后我提交我想要保留的好的更改。

在Eclipse中回滚这些不好的更改并保留好的更改的最简单方法是什么?假设与坏的改变相关的文件与与好的改变相关的文件不同。如果对相同文件的好的更改与坏的更改相同,情况会发生怎样的变化?

我主要在寻找一种通过Eclipse插件(Subclipse或Subversive)来实现此目的的方法,但命令行命令也很有趣。

EN

回答 6

Stack Overflow用户

发布于 2008-09-15 14:06:08

在Eclipse Ganymede (Subclipse)中

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

Team ->显示历史记录

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

查找提交了“坏的更改”的修订版本,然后从弹出菜单中选择:

从Revision X恢复更改

这将合并在错误修订中修改的文件中的更改,以及在错误修订之前的修订。

这里有两个场景:

  1. 如果您没有提交对该文件的任何更改(错误版本是该文件的最后修订版本),它将简单地删除在错误版本中所做的更改。这些更改将合并到您的工作副本中,因此您必须提交它们。
  2. 如果您提交了对该文件的某些更改(错误修订不是该文件的最后修订),则必须手动解决冲突。假设你有一个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将被标记为冲突,并且将包含带有某些标记(<<<<<<<、.working等)的合并版本(其中删除了来自错误修订的更改)。如果您只想删除错误修订中的更改并保留在此之后所做的更改,那么您所要做的就是删除标记。否则,您可以将上述3个文件之一的内容复制到原始文件中。无论您选择什么,当您完成时,请标记冲突已通过

团队-标记已解析的

临时文件将被删除,并且您的文件将被标记为已更改。如1所示,您必须提交更改。

请注意,这不会从svn存储库中的修订历史记录中删除修订。你只是做了一个新的修订,删除了来自错误修订的更改。

票数 80
EN

Stack Overflow用户

发布于 2008-09-22 19:37:37

如果您想一次创建一个文件,那么可以转到文件的History视图,假设您已经安装了Eclipse SVN插件。“团队->显示历史记录”

在History视图中,找到该文件的最后一个良好版本,右键单击并选择"Get Contents“。这将用当前版本的内容替换当前版本。然后,您可以在完成所有修改后提交更改。

票数 14
EN

Stack Overflow用户

发布于 2010-11-05 20:59:08

在Eclipse中使用Subversive:

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

在合并窗口中,选择您想要正常恢复的修订,但也要启用“反向合并”复选框。

按正常方式合并。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档