前言-亲试
选中模块代码右击选择SVN Show Log-选中对应版本右击Revert to this revision选择Revert
今天来研究一下svn中的版本回退操作,以工程版本号270举例
三种回退操作
一、 Update item to revision
执行操作后会回退掉271 ~ 276版本的更改,使本地的代码为270版本的代码,相当于270版本之后的代码本地还没有更新的状态,更新了就会回来。该操作主要用于测试看270版本代码的表现是否正确,如果正确就将问题代码锁定在271 ~ 276之间
执行Update item to revision操作
执行Update item to revision操作后的Log
可以看到执行操作后,当前工程的版本在270,此时Commit也为空,虽然本地代码与服务器代码不同,但因为是版本较旧造成的,所以不能提交
Commit
更新了就回来了
Update
Update后的Log
二、 Revert to this revision
执行操作后会回退掉271 ~ 276版本的更改,使本地的代码为270版本的代码,相当于一次新的修改,只不过这次修改是将原来的修改作废。就好像策划先让加了某个功能,加上后又说不想要了,一般用在这种情形。不同于Update item to revision的是,这里因为是真正意义上的回退修改(可以提交的)所以会有一个二级弹窗提示
二级弹窗提示
Revert之后可以看到svn服务器认为现在本地是最新代码,这也意味着本地所有的提交都将生成最新版本277
确认执行操作后的Log
此时更新显示没有任何更新,因为已经是最新版(马赛克掉的是路径)
Update
Commit时会显示回退的更改,而这些更改都是271 ~ 276的回退,注意此时一旦提交,将服务器上的版本号变成277的同时也意味着服务器上的最新版本其实和270版本相同,271 ~ 276只是过客。如果是自己的误操作,一定不要上传并且要把自己的更改Revert掉
Commit
三、 Revert changes from this revision
该操作的意义是将某一条修改比如270的修改回退,其它同Revert to this revision。可以选中多条比如同时选中270、271、272此时该选项就变成了 Revert changes from these revisions