【问题标题】:SVN - Loading changes without switching revisions? [duplicate]SVN - 加载更改而不切换修订? [复制]
【发布时间】:2012-08-25 14:50:10
【问题描述】:
可能重复:
How do I return to an older version of our code in Subversion?
我在 Eclipse 的提交窗口中查看差异(带有 subclipse)并尝试添加一行(通过按回车键),但改为通过更改提交而没有评论并且没有我确保我想提交我更改的内容.
这添加了一个没有评论的提交,并且我不确定远程仓库的更改。我检查了以前的修订版,并在我不小心做出的提交上提交了这些更改。
所以现在 HEAD 与我意外提交之前的修订状态相同,但我想现在正确提交我的更改。不过,我不确定如何。当我切换到意外修订(以恢复我的更改)时,它不允许我提交,因为它说没有任何更改。我猜它正在将我的本地文件与我签出的版本进行比较,但我需要它来将其与 HEAD 进行比较。
我可以在这里做什么?
【问题讨论】:
标签:
eclipse
svn
version-control
subclipse
【解决方案1】:
您可以 (svn) 将您意外提交的修订版导出到您的工作副本上。然后您可以进行调整并提交您的更改。
在命令行上:
svn export -r <your accidental commit> <working copy directory>
在 Eclipse 中:
- 右键单击历史视图中的意外提交
- 选择“导出...”并选择包含您的工作副本的目录
【解决方案2】:
最简单的方法是对您提交的修订进行统一差异化,然后使用 Apply Patch 选项将其重新应用到您的工作区。
您也可以只对更改的文件执行显示历史记录。然后找到修订,在相应的窗格中选择文件,然后选择 Get Contents 选项。这将使该文件的工作副本版本与所选修订中该文件的内容相匹配。
无论哪种情况,您的工作副本现在都应该显示为脏,您可以在准备好后查看和提交。
【解决方案3】:
我最终恢复了我上次提交的更改,然后在检查了所有内容后重新提交了这些更改。