在做源码版本管理的时候,有时整个大版本的升级,会替换很多文件,也会新增很多文件,我们需要在升级完成之后对整个网站加入版本管理。
1.对更新删除导致丢失的文件进行批量删除
#svn status | awk '{if($1 == "!"){print $2}}' | xargs -r svn delete
原理是通过查询当前文件夹的文件状态,用awk进行分割获取到!标记的文件名称,附加给xargs 分别执行svn delete 操作。
如果中途遇到报错,可以多运行几次,有些文件可能已经丢失了。
2.对新增的文件进行批量新增
#svn status | awk '{if($1 == "?"){print $2}}' | xargs -r svn add
这个语句的原理和上一条删除是一样的,只是针对文件的状态标记进行筛选操作。
3.对新增或者修改的文件进行批量提交入库
#svn status | awk '{if($1 == "M" || $1 == "A"){print $2}}' | xargs -r svn commit -m "这里是备注"
同样的方法,只是在提交入库的时候需要提交备注名称,不然会报错。使用-m参数加上备注内容即可,比如备注“将wordpress从5.0.1更新到5.0.2版本”,方便下次查看回滚版本。
4.查看当前目录版本控制的文件和目录列表
#svn list
5.查看当前文件夹的版本控制情况
#svn status