回答
解决:SVN 合并-r1234:4321路径/到/ yourfile路径/到/ thefileyouwanttogobackto,
其中
1234是你的修订
4321是你想回去修改。
你可以做一个“反向合并”,即“应用”所有更改从当前的修订,要回去修改(即撤销所有要回去的变化从修订到目前修订版)。
svn merge -r HEAD:nnnn .
其中nnnn
是您想要返回的修订。 http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html
查看更改后,解决所有冲突等,请使用svn commit
将更改推送到存储库。
如果你知道你要在这里恢复某个版本是恢复它多了一个途径。
svn diff -c r1031 | grep ^Index | awk '{ print $2}' | xargs -I {file} svn export -r 1030 {file} {file}
它发现在R1031改变了所有文件,并与从版本相同的文件替换1030
PS:也请小心,如果你要恢复的文件并没有出现在1030它可能可能不符合你的预期。
详情请参阅此博客条目:
http://blog.mafr.de/2008/05/13/revert-a-commit-in-svn/
一些好的背景说明:
要了解这里发生了什么,需要什么 合并命令会概念的一些背景:它记录哪些变更必须由 修改为N修改为修订N + 1(称为增量) ,并将其应用于工作副本。这不是我们在 方案中想要的,所以我们将命令 一行的修订顺序颠倒过来。实际上,我们告诉合并命令以其他方式创建一个增量 。结果是代码库的“倒带”。
而且也,在评论中,如何做到这一点的TortoiseSVN:
要在TortoiseSVN做到这一点,用鼠标右键单击该目录或文件 你想恢复,并使用“合并“从TortoiseSVN菜单。选择 选项“合并两棵不同的树”。在“发件人”下方,选择修改头 。在“收件人”下选择旧版本+1(即如果您希望 恢复到版本169,请在版本框中输入修订版本170)。在SVN Book
最简单的方式描述:
$ svn merge -c -303 http://svn.example.com/repos/calc/trunk
将撤销在变更303所做的任何更改,您可以查看并根据需要进行提交。
- 1. 从SVN,SVN克隆恢复不--stdlayout
- 2. 龟SVN:恢复
- 3. svn恢复 - 恢复个别修订版
- 4. Svn恢复所有属性更改
- 5. SVN子变更集提交?
- 6. SVN - 从备份恢复存储库
- 7. 如何从svn hotcopy备份中恢复
- 8. SVN从NAnt脚本中恢复?
- 9. SVN如何从功能分支恢复更改
- 10. SVN结帐无需恢复
- 11. 与乌龟SVN恢复
- 12. svn恢复异常结账
- 13. 恢复git-svn克隆
- 14. 在SVN中恢复文件
- 15. 从git的恢复变基
- 16. 恢复的git - svn的克隆:“混帐SVN取”从头开始
- 17. 从SVN仓库内恢复一个SVN仓库
- 18. 乌龟SVN只在一个文件的变更集中恢复一次更改,是否有可能?
- 19. Svn:恢复文件内容更改而不恢复任何相关的mergeinfo?
- 20. 如何恢复合并到另一个分支的变更集?
- 21. 有没有办法在visual studio 2005中恢复变更集2005
- 22. 如何恢复已删除的变更集
- 23. SVN恢复更改。重新申请后续更改
- 24. Cassandra集群恢复
- 25. 无法恢复由svn恢复的文件-rNNN
- 26. Laravel 5.2恢复php工匠make:auth变更。
- 27. SVN库变更
- 28. 恢复变量值
- 29. 有没有办法恢复文件的svn属性更改而不会恢复文件内容的更改?
- 30. 恢复SVN中的一部分提交
请更详细一点。 – splash 2010-10-27 09:36:11
当我为每个文件执行svn还原时没有任何事情发生。 – Woppi 2010-10-27 09:39:10
请更详细一点。如果更改已提交,则可以恢复到预先提交的修订版本。 – user434507 2010-10-27 09:40:57