注:
[svn Path]:是指要取代码分支的服务器绝对路径
[Path]:是指终端相对当前目录的相对路径,如果是在当前目录下,就省略路径
①.取svn服务器的代码:
svn co [svn Path]
②.查看当前目录的svn状态:
svn st
③.查看某个目录的svn状态:
svn st [Path]dirName
④.查看某文件在svn上的修改记录:
svn log [Path]fileName
⑤.查看某文件/目录在svn上的最近n次修改记录(n必须是大于0的整数):
svn log [Path]fileName/dirName -l n
⑥.查看某文件/目录在svn上的最近n次提交信息(包括改动哪些文件):
svn log [Path]fileName/dirName -l n -v
⑦.查看某个svn号的修改所涉及的文件:
svn log -v -r r949
⑧.查看某文件在svn上的二个修改记录区别(有区别的内容,冒号前面的记录内容显示为-;后面为+):
svn di [Path]fileName -r r1:r2
⑨.查看某文件与svn上的区别:
svn di [Path]fileName
⑩.增加某个文件:
svn add [Path]fileName
11.删除某个文件:
svn rm [Path]fileName
12.增加文件夹:
svn add [Path]dirName --no-ignore
13.删除文件夹:
svn rm [Path]dirName -rf
14.某文件夹下新增一部分文件(只有新增的文件)(有.so文件的,最好后面加关键字 --no-ignore):
svn add $(svn st [Path] | awk ‘{print $2}‘)
svn add $(svn st [Path] | grep "? " | awk ‘{print $2}‘)
15.某文件夹下删除一部分文件(只有删除的文件):
svn rm $(svn st [Path] | awk ‘{print $2}‘)
16.清理新拷贝的目录及子目录下面到所有.svn目录
find [Path]dirName -name ".svn" | xargs rm -rf
rm `find [Path]dirName -name .svn` -rf
17.提交到服务器:
svn ci [Path]fileName [Path]dirName -m "Changed notes"
18.如果文件名中带有字符“@”,svn add 或 svn rm 时要在最后加上一个"@"字符才可以识别相应的指令:
svn add [email protected][email protected]
svn rm [email protected][email protected]
19,grep 过滤.svn文件
打开 ~/.bashrc (这是bash的当前用户配置文件),在文件的最上方添加这样一条:
export GREP_OPTIONS="--exclude-dir=\.svn"
(注意 = 的前后不能有空格,不然在载入该配置文件时会提示错误)
保存并关闭,同时在命令行键入如下命令:
source ~/.bashrc (让bash重新读取脚本)
20.patch 同步代码用法
产生同步代码文件包:
svn di > xxx.patch
合并代码文件包的修改:
patch -p0 < xxx.patch
Ubuntu使用之Svn命令小技巧,布布扣,bubuko.com