Linux下subversion的使用方法

 

本文内容摘自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"

 

你可能感兴趣的:(软件配置,linux)