欢迎转载!转载时请注明出处:http://blog.youkuaiyun.com/nfer_zhuang/article/details/42497181
引言
使用场景:
我所在的开发环境下,使用的是svn版本管理工具,而相对于git来讲,如果有时候改动的文件较多,但是并不是全部都需要提交(或需要按照一个case一个commit来提交),那么如何进行筛选处理呢?按照git的用法就是git add指定的文件,然后git ci即可,但是对于svn,尤其是在命令行下操作就没有办法了。
一般用法:-
将已修改完成的整个目录备份一下
-
将暂时不需要提交的文件或代码块进行还原
-
提交本次修改
- 将备份的其他修改再覆盖回工作目录
一句话脚本用法:
TEMP_DIR=~/temp_`date "+%Y-%m-%d"` && mkdir $TEMP_DIR && svn st -q | awk '{print $2}' | xargs -i cp {} --parents $TEMP_DIR/ -v
上面的脚本分解步骤是:
- 创建一个变量表示临时文件夹的名称,并且使用时间戳作为文件夹名称的一部分
- 创建该文件夹
- 将有改动的文件过滤出来(注意,这里只是针对修改的文件和增加的文件,如果是删除的则无