
2.在ideasvn中找到您想要删除的文件,右键点击该文件,然后点击“删除”。
3.系统会提示您是否真的要删除该文件,点击“确定”,文件就会被删除。
4.如果您想要撤销删除,可以在ideasvn客户端中点击“撤销”,这样文件就会被恢复。
5.最后,可以点击“提交”,提交您的删除 *** 作,以完成文件删除的过程。
此文将讲解删除已提交到SVN服务器上的版本号。官方未来可能添加svnadmin obliterate命令以支持此特性。目前比较推荐的方法是用svnadmin 导出,再过滤掉不想要的版本,再导入。这里提供另一种解决方法(风险未知)。
模拟实验环境
实验环境
测试仓库:https://10.10.0.1/svn/mytest
模拟删除5、6版本号。
模拟环境
目前版本号为4
现在模拟新提交到版本号6
删除版本号
1、停止SVN服务
2、删除版本信息文件
登陆到SVN服务器,进入仓库所在目录
删除mytest\db\rep-cache.db文件
删除mytest\db\revprops\0目录下5、6两个文件
删除mytest\db\revs\0目录下5、6两个文件
3、修改当前版本记录文件
修改mytest\db\current文件,将6该为4。至此,版本号已回退至4
4、启动SVN服务
验证
1、清理TortoiseSVN缓存
如果在windows下使用TortoiseSVN,请清理TortoiseSVN的缓存,否则可能出现日志信息错乱问题
2、查看当前版本信息
此时看到后面提交的版本5、6已经被删除
3、再次提交版本验证
再次提交,完全没有影响,至此完成。
SVN批量删除文件
svn status | grep ! | awk '{print $2}' | xargs svn delete
1、首先svn status查看svn状态,列出所有改动,打!号的是已经删除的文件但是还未标记成从库中除去。
2、grep ! 将这些文件单独抽离出来,此时如果不执行后面的语句,呈现的内容应该是类似 ! filepath/image/image.jpg
3、再用 awk '{print $2}' 将抽离出来的文本结果处理,留下每一行的第二段文字,即后面的文件名, 此处必须注意,svn status|grep ! 和后面的语句 |awk '{print $2}'|xargs svn delete之间,必须有一个空格,否则终端还是会认为这个!号是特殊符号.
4、最后就可以直接递交给svn delete命令了,使用xargs这个参数构造命令,将每一行的文本作为参数提供给svn del,结果就是所有列出的文件都执行了一遍del了。
注意:
有时删除图片倍图,带有@符号的时候,报错 a peg revision is not allowed here 。解决方法在文件后添加@符号,例如,删除一张图片 svn delete filepath/image@2x.png@,这样就可以删除成功了。
SVN批量添加文件
几乎和上面批量删除一样,不同的是svn标记的符号不一养,使用的是问号
svn status|grep ? |awk '{print $2}'|xargs svn add
处理好之后就可以 svn commit -m "..."
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)