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

svn 没有恢复旧版本的直接功能,不过可以使用 svn  merge命令恢复。 
比如说当前HEAD为14,而我要恢复成10版本,怎么做?用 svn  merge: 
svn  update 
svn  merge --revision 14:10  PATH_URL
svn  commit -m "restore to revision 10" 
可能会很奇怪,因为不理解为什么合并能恢复旧版本。 

这里要理解一个关键点,就是svn merge的原理。merge是比较指定版本的差异,然后把这些差异应用到本地工作副本,而-r后的14:10,是指相对于版本14来说版本10的变化(注意,这个版本的次序很重要。),也就是相对版本14,我版本10添加了哪些文件或目录,以及哪些文件添加了哪些行删除了哪些行。又因为本地版本是最新的14,所以把这些差异应用到本地版本时就等于把14改变成10,其效果等于还原到版本10。然后提交,最后的版本号是15。 


本文转自chenergan,http://chenergan.javaeye.com/blog/184472

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值