当前位置:  开发笔记 > 前端 > 正文

在Eclipse中使用svn回滚糟糕的更改

如何解决《在Eclipse中使用svn回滚糟糕的更改》经验,为你挑选了5个好方法。

假设我已经对Subversion存储库进行了一些不好的更改.然后我做了很好的改变,我想保留.

什么是最简单的方法来回滚Eclipse中的那些糟糕的变化,并保持良好的变化?假设与不良变化相关的文件与与良好变化相关的文件不同.如果对相同的文件进行了良好的更改,那么事情会发生什么变化?

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



1> kirlich..:

在Eclipse Ganymede(Subclipse)中

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

团队 - >显示历史

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

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

还原修订版X中的更改

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

这里有两种情况:

    如果您没有为该文件提交任何更改(错误的修订版是该文件的最新修订版),它将只删除在错误修订版中进行的更改.这些更改将合并到您的工作副本,因此您必须提交它们.

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

readme.txt.merge-left.r33 - 修改不好

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

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

原始readme.txt将被标记为冲突,并将包含合并版本(其中删除了错误修订的更改)与一些标记(<<<<<<<.working etc).如果您只想从错误修订中删除更改并在此之后保留更改,那么您所要做的就是删除标记.否则,您可以将上述3个文件之一中的内容复制到原始文件中.无论你选择什么,当你完成后,标记冲突解决了

团队 - Mark Resolved

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

请注意,这不会从svn存储库中的修订历史记录中删除修订.您只需创建新修订版,其中删除了错误修订版的更改.



2> Fernando Bar..:

你有两个选择.

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

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

这两个命令都有它们的命令行等价物:svn revertsvn merge.



3> Matt..:

如果您想一次执行1个文件,则可以转到文件的"历史记录"视图,假设您已安装Eclipse SVN插件."团队 - >显示历史"

在"历史记录"视图中,找到该文件的最新版本,右键单击并选择"获取内容".这将使用该版本的内容替换您当前的版本.然后,您可以在修复所有更改后提交更改.



4> Mark Phippar..:

我写了几篇关于这个主题的博客文章.一个是Subclipse的中心的:http://markphip.blogspot.com/2007/01/how-to-undo-commit-in-subversion.html和一个是命令行中心的:HTTP://blogs.collab.净/颠覆/ 2007/07 /第二机会/



5> Tuukka Musto..:

在使用Subversive的Eclipse中:

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

在合并窗口中,选择要恢复为正常情况的修订,但也启用复选框"反向合并".

合并为正常.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有