2013-07-10 85 views
0

帮我解决下面的SVN问题。SVN,恢复以前的状态

我有2个分支。第一个分支正在积极开发中,因此它有一些未被承诺的变化。但在第二(生产)分支中,我发现了一个错误,所以我想快速修复它。所以我从第一个分支(未提交状态)切换到第二个分支(我想快速修复一个bug)。现在第一个分支合并到第二个(有许多冲突等)。我真的不知道如何解决这个问题。在最低限度我要恢复所有的变更(使用SVN revert命令,我的意思是要恢复以前的状态,从一个分支swtiching到另一个之前)

即我需要回滚最后switch命令

+0

一个颠覆的好处是,你可以在同一个项目中签出多个工作ng拷贝。下次再做。 –

+0

@BenVoigt好的,谢谢。事实上,我已经决定像推荐你一样遵循方式。但首先我需要回到以前的状态。 – MyTitle

+0

除非你正在使用自己持有本地历史记录的IDE,你可以逐个还原冲突的文件,否则我必须手动解决每个文件中的冲突。 SVN会产生冲突,因为它不知道如何处理这两个版本之间的变化,所以它希望人们看看它们。要修复生产中的错误,您应该为该分支签出一份单独的工作副本并在其中修复该错误。 – A4L

回答

1

有没有更好的办法比使用你的大脑:你的本地副本现在混乱了,你不能恢复你的行动,没有办法做到这一点。

有一些运气,你的ide有一个内部备份(thinkihng eclipse例如),你可以恢复到以前版本的文件并挽救你的一些工作。对于未来

凭经验:

  • 从未与本地更改开关,除非你知道自己在做什么
  • 保持对不同类型的作品不同的工作区(我通常有一个“修复”工作区和一些“开发”工作区)
  • 如果你使用的外部,比邪能更糟:-)