SVN终端演练-版本回退

时间:2021-09-25 18:51:07
1. 版本回退概念以及原因?

    概念: 是指将代码(本地代码或者服务器代码), 回退到之前记录的某一特定版本
    原因: 如果代码做错了, 想返回之前某个状态重做;

2. 修改了,但未提交的情况下, 回退代码

    方案1: (大力推荐)
        svn revert (作用:返回到上次提交后版本对应的最原始的状态)
       
    方案2: (不推荐)
        删除整个项目,重新checkout

3. 修改了,并且提交了的情况反悔

    方案1: 大力推荐
        - svn update
            (作用: 将本地代码更新到与服务器相同的版本)
        - svn merge 文件名 -r 版本1:版本2
            (作用: 把版本1 -> 版本2 的 diff 作用在当前版本,从版本1还原到版本2)
        - svn commit -m “本地和服务器都回退到某一指定版本”
            (作用: 让服务器代码也退回到之前某个版本状态,版本号不会变小)

    方案2:
        - svn update -r 指定版本号(此时本地代码已经变化,但是服务器没有改变)
        *--------以下步骤是为了让服务器代码也回滚到以前的版本----------*
        - 修改部分文件
        - svn update (此时会产生冲突, 选择使用自己的代码即可)
        - 再次提交代码

    方案3:
        - 手动保存需要回退的文件内容
        - 删除文件,提交到服务器
        - 重新添加文件,上传到服务器