优选主流主机商
任何主机均需规范使用

详解Linux环境下SVN命令行高效批量操作技巧与实践

详解Linux上svn命令行批量操作

虽然说git很好,大多数时候我也是使用git,但是有时候因为一些原因,不得不使用svn,而在linux上使用svn是没有像windows上的tortoisesvn的软件的(网上有说有类似的,但是折腾了很久仍然没有成功),所以直接来命令行吧。

我们直接安装svn就好,然后文件修改之后使用命令

?

1 svn status

查看文件的跟踪信息,这里会使用一些代号,对应的大概是

?

1 2 3 4 5 6 7 8 9 10 11 12 13 “ ” 无修改 “A” 新增 “C” 冲突 “D” 删除 “G” 合并 “I” 忽略 “M” 改变 “R” 替换 “X” 未纳入版本控制,但被外部定义所用 “?” 未纳入版本控制 “!” 该项目已遗失 (被非 svn 命令所删除) 或是不完整 “~” 版本控制下的项目与其它类型的项目重名

这里我们需要考虑的是“缺失”和“未纳入版本控制“,也就是”!“和”?“,直接使用下面的命令即可

?

1 2 svn add `svn status | grep ? | awk '{print $2}' ` svn delete `svn status | grep ! | awk '{print $2}' `

注意命令中的反引号,是”esc“键下面,”1“旁边的那个,表示一个命令。

使用上面的命令之后,对应的文件的状态就会变成对应的“D”和“A”,然后就可以使用命令

?

1 svn commit -m "xxxx"

进行提交了!

这里提到的两种命令操作对于文件明中存在空格的情况会出问题。

未经允许不得转载:搬瓦工中文网 » 详解Linux环境下SVN命令行高效批量操作技巧与实践