本文内容摘自subversion官网操作手册
链接:http://svnbook.red-bean.com/nightly/en/index.html
help:帮助命令,查看详细的svn二级命令的详细使用说明
$svn help help
$svn help update
inof:显示本地或远程条目的信息
ephraim@ephraim-desktop:~/demo$ svn info
路径: .
工作副本根目录: /home/test/demo
URL: svn://www.test.com/trunk/demo
正确的相对 URL: ^/trunk/C++/demo
版本库根: svn://www.test.date
版本库 UUID: c37ddbaa-fd49-4baa-a22f-85336dbb9d71
版本: 404
节点种类: 目录
调度: 正常
最后修改的作者: testuser
最后修改的版本: 404
最后修改的时间: 2016-10-14 11:53:59 +0800 (五, 2016-10-14)
status命令:显示当前文件状态
$svn status -v
$svn status
$svn status -u -v
$svb status main.c
diff命令:显示不同
$svn diff
$svn diff -r 2:3 rules.txt //显示rules.txt文件的版本2和版本3的差别
$svn diff -c 3 rules.txt //显示rules.txt指定的版本,和当前版本的差别
$svn diff -c 5 http://svn.example.com/svn/repo/some/project/rule.txt //指定版本和url中的文件比较
revert命令:恢复命令[解决update问价冲突的问题,放弃自己的修改,回复到之前版本]
$svn revert sandwich.txt
commit命令:提交更改
$svn commit
-m 添加备注:
svn commit -m "Add another file"
结合awk的Linux下的工具可以批量操作文件
svn status | awk -F: '$1~"!"{print $2}'
update:更新当前版本库到最新
$svn update
$svn update -r 1729 //更新到指定的版本
version:查看版本号
$svn --version
import:把文件导入版本库中
$svn import /path/to/mytree http://svn.example.com/svn/repo/some/project -m "Initial import"
list:显示版本库中的文件
$svn list http://svn.example.com/svn/repo/some/project
checkout:创建一个版本库中的目录到本地机器
$svn checkout http://svn.example.com/svn/repo/some/project
指定checkout出来的目录名称
$svn checkout http://svn.example.com/svn/repo/some/project myproject
//检出指定的版本
$svn checkout http://svn.example.com/svn/repo/some/project -r 1729 myproject
$svn checkout http://svn.example.com/svn/repo/some/project@1729 myproject
log:查看svn提交修改记录日志
$svn log
$svn log foo.c //显示指定文件的版本日志
$svn log -r 8 //显示指定版本的日志
-v表示显示修改的文件列表
$svn log -r 8 -v //显示指定版本的日志
cat:恢复打开并显示一个文件,指定的版本的内容。
$svn cat -r 2 rule.txt //显示指定rule.txt指定版本的内容
$svn cat -r 2 rule.txt > rulex.txt.v2 //把指定的文件指定的版本内容,存储到文件中。
annotate:显示每一行的不用
$svn annotate rules.txt
@BASE只显示后修改的部分
$svn annotate rules.txt@BASE
export:导出命令
$svn export http://svn.example.com/svn/repo/some/project myproject
$svn export http://svn.example.com/svn/repo/some/project@1729 myproject
$svn export http://svn.example.com/svn/repo/some/project@ -r 1729 myproject
cleanup
$svn cleanup //删除所有的文件修改,svn status和svn diff查看详细状态
结合awk添加alias操作快捷
alias svnrm="svn status | awk '{if(\$1 ~\"\!\") print \$2}' | xargs svn rm"
alias svnadd="svn status | awk '{if(\$1 ~\"\?\") print \$2}' | xargs svn add"