手贱在SVN上上传了有错误代码的版本,于是就去网上搜索有关于SVN删除版本库的方法。
方法一: 无效
- 首先找到本次提交后生成的版本号,例如为:14
- 登录到svn服务器上,进入到项目的svn目录;或者找到本地的svn的配置目录;
- 进入db目录,删除此目录下的rep-cache.db。并修改此目录下的current文件,将其修改为上一个版本,
例如此次目的想修改为:13;- 删除db/revs/0/目录下的14文件。
- 删除db/revprops/0/目录下的14文件。
- 至此,服务器端已经回退到13版本,此时可以将本地下载到的代码删除,重新从svn服务器上下载或者检出一份代码,然后基于此代码继续修改提交。
引用自: https://blog.csdn.net/johnlaoxing/article/details/76000691
方法二:有效
- 在受SVN控制的某层文件夹(项目)或文件上点右键,选择“TortoiseSVN-显示日志(Show log)”
- 在弹出的日志窗口中,右键点击要复原的版本,选择“复原到此版本(Revert to this revision)”
- 复原结束后,执行“提交(commit)”操作,将此版本作为版本库的最新版本
在方法二中点击日志窗口后会有以下两个选项,根据情况去使用。
Revert to this revision
全部回滚到该版本,那么会直接覆盖掉你的文件。
Revert changes from this revision
以更新的形式回滚,那么遇到有冲突的代码会让你去选择怎么合并。
SVN是没有提供删除某次版本提交的功能,所以只能采取重新覆盖的形式。要注意了。
假设第一种方式是有效的,而直接对svn服务器进行操作就需要管理员了,那你就需要去麻烦你的组长什么的了,就很尴尬了。。。。。