假设我向Subversion存储库提交了一些糟糕的更改。然后我提交我想要保留的好的更改。
在Eclipse中回滚这些不好的更改并保留好的更改的最简单方法是什么?假设与坏的改变相关的文件与与好的改变相关的文件不同。如果对相同文件的好的更改与坏的更改相同,情况会发生怎样的变化?
我主要在寻找一种通过Eclipse插件(Subclipse或Subversive)来实现此目的的方法,但命令行命令也很有趣。
发布于 2008-09-15 14:06:08
在Eclipse Ganymede (Subclipse)中
选择包含错误更改的项目/文件,然后从弹出菜单中选择:
Team ->显示历史记录
与该项目/文件相关的修订将显示在历史选项卡中。
查找提交了“坏的更改”的修订版本,然后从弹出菜单中选择:
从Revision X恢复更改
这将合并在错误修订中修改的文件中的更改,以及在错误修订之前的修订。
这里有两个场景:
readme.txt.merge-left.r33 -错误的版本
readme.txt.merge-right.r32 -在错误修订之前
readme.txt.working -工作副本版本(如果没有任何未提交的更改,则与r34中的版本相同)
原始readme.txt将被标记为冲突,并且将包含带有某些标记(<<<<<<<、.working等)的合并版本(其中删除了来自错误修订的更改)。如果您只想删除错误修订中的更改并保留在此之后所做的更改,那么您所要做的就是删除标记。否则,您可以将上述3个文件之一的内容复制到原始文件中。无论您选择什么,当您完成时,请标记冲突已通过
团队-标记已解析的
临时文件将被删除,并且您的文件将被标记为已更改。如1所示,您必须提交更改。
请注意,这不会从svn存储库中的修订历史记录中删除修订。你只是做了一个新的修订,删除了来自错误修订的更改。
发布于 2008-09-22 19:37:37
如果您想一次创建一个文件,那么可以转到文件的History视图,假设您已经安装了Eclipse SVN插件。“团队->显示历史记录”
在History视图中,找到该文件的最后一个良好版本,右键单击并选择"Get Contents“。这将用当前版本的内容替换当前版本。然后,您可以在完成所有修改后提交更改。
发布于 2010-11-05 20:59:08
在Eclipse中使用Subversive:
右键单击您的项目>团队>合并
在合并窗口中,选择您想要正常恢复的修订,但也要启用“反向合并”复选框。
按正常方式合并。
https://stackoverflow.com/questions/35983
复制相似问题