记一次SVN错误上传代码

手贱在SVN上上传了有错误代码的版本,于是就去网上搜索有关于SVN删除版本库的方法。

方法一: 无效

  1. 首先找到本次提交后生成的版本号,例如为:14
  2. 登录到svn服务器上,进入到项目的svn目录;或者找到本地的svn的配置目录;
  3. 进入db目录,删除此目录下的rep-cache.db。并修改此目录下的current文件,将其修改为上一个版本,
    例如此次目的想修改为:13;
  4. 删除db/revs/0/目录下的14文件。
  5. 删除db/revprops/0/目录下的14文件。
  6. 至此,服务器端已经回退到13版本,此时可以将本地下载到的代码删除,重新从svn服务器上下载或者检出一份代码,然后基于此代码继续修改提交。

引用自: https://blog.csdn.net/johnlaoxing/article/details/76000691

方法二:有效

  1. 在受SVN控制的某层文件夹(项目)或文件上点右键,选择“TortoiseSVN-显示日志(Show log)”
  2. 在弹出的日志窗口中,右键点击要复原的版本,选择“复原到此版本(Revert to this revision)”
  3. 复原结束后,执行“提交(commit)”操作,将此版本作为版本库的最新版本

在方法二中点击日志窗口后会有以下两个选项,根据情况去使用。

  • Revert to this revision

    全部回滚到该版本,那么会直接覆盖掉你的文件。

  • Revert changes from this revision

    以更新的形式回滚,那么遇到有冲突的代码会让你去选择怎么合并。

SVN是没有提供删除某次版本提交的功能,所以只能采取重新覆盖的形式。要注意了。

假设第一种方式是有效的,而直接对svn服务器进行操作就需要管理员了,那你就需要去麻烦你的组长什么的了,就很尴尬了。。。。。