背景
在使用SVN管理代码时免不了进行代码的合并或者回退,本篇主要讲回退至某个版本的SVN操作。
内容
对目标代码右键查看log,选中某个你想回滚的版本,然后右键会看到如下图
假设log中已经有5个版本,分别为1,2,3,4,5,你想回退至版本2,下面看看这两个命令的区别
Update item to revision
这个命令操作后本地文件内容回滚至版本2,需要注意的是本地文件版本同样更新至版本2,这样2,3,4版本的修改在本地文件不体现,但是12345版本在服务器上还是存在的,这些操作都只是将你本地文件进行修改。很重要的一点,SVN工具中如果文件不是最新版本则无法上传,这时在commit你会发现无变化,所以说这个命令只能讲本地文件回滚至特定版本,但不能将回滚后文件上传。若想采用这种方法上传版本2,则可以在checkout一个最新的版本,将版本2替换最新的再commit。
Revert to this revision
这个命令操作之后本地文件内容回滚至版本2,相当于把版本2拷贝了一份在本地当前目录下,但此时本地文件版本仍为最新的版本即版本5,并且这时候也是可以commit的,提交之后SVN的记录里就有一个新的版本6,但是这个版本6与版本2是一样。这样我们既将本地代码回滚至版本2,同时也将服务器上代码回滚至版本2。
总结:如果单纯想将代码回滚至某个版本,先Revert to this revision ,然后再commit提交即可。需要注意的是在Revert to this revision 之前你本地代码没有想要提交的新的代码变更。