`
chenergan
  • 浏览: 80696 次
  • 性别: Icon_minigender_1
  • 来自: 福建
文章分类
社区版块
存档分类
最新评论

使用svn merge恢复旧版本的原理

    博客分类:
  • svn
阅读更多
使用svn merge恢复旧版本的原理

svn没有恢复旧版本的直接功能,不过可以使用svn merge命令恢复。
比如说当前HEAD为14,而我要恢复成10版本,怎么做?用svn merge:
svn update
svn merge --revision 14:10
svn commit -m "restore to revision 10"
可能会很奇怪,因为不理解为什么合并能恢复旧版本。
这里要理解一个关键点,就是svn merge的原理。merge是比较指定版本的差异,然后把这些差异应用到本地工作副本,而-r后的14:10,是指相对于版本14来说版本10的变化(注意,这个版本的次序很重要。),也就是相对版本14,我版本10添加了哪些文件或目录,以及哪些文件添加了哪些行删除了哪些行。又因为本地版本是最新的14,所以把这些差异应用到本地版本时就等于把14改变成10,其效果等于还原到版本10。然后提交,最后的版本号是15。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics