Ubuntu下svn的使用

svn(命令行)的使用

说明

本文主要参考网上优质博客
SVN常用命令

环境配置

1.系统环境:ubuntu14.04 LTS
2.SVN官网:Apache Subversion
3.SVN服务器安装配置:Ubuntu 14.04下搭建SVN服务器

简介

SVN(Subversion)是一个自由、开源的项目源代码版本控制工具。目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件。

常用命令

1、将文件checkout到本地目录
svn checkout path
简写:
svn co

2、查看文件或者目录状态
svn status path(目录下的文件和子目录的状态,正常状态不显示)
svn status -v path(显示文件和子目录状态)
简写:
svn st

3、往版本库中添加新的文件
svn add file

向svn中增加所有新增文件
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
摘自《卓有成效的程序员》
当你想添加所有文件时,会报出一些错误,例如 “svn: E200009: 因为一些目标已经版本化,所以不能增加全部目标”,而上面那一行简单的bash命令就可以完成批量添加。
svn st:获取当前目录以及子目录中所有文件的Subversion状态,每一文件一行,尚未加入版本控制的新文件会以一个问号?开头,随后是一个tab,最后是文件名。
grep '^\?':找出所有以”?”开头的行。
tr '^\?' ' ':把”?”替换成空格(tr命令会把一个字符转换成另一个字符)。
sed 's/[ ]*//':用sed(基于流的编辑器)把每行开头的空格去掉。
sed 's/[ ]/\\ /g':文件名内部也可能包含空格,所以再次动用sed,把文件名中的空格替换转义字符。(加 “\”)
xargs svn add:针对前面的结果,逐一调用svn add。
补充一个,未验证的svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add

  • file :要添加的文件名。

4、版本库中删除的文件(慎用)
svn delete path -m file
或使用
svn delete path file --force 可以删除刚刚添加但是没有commit的文件。
简写:
svn (del, remove, rm)

5、将改动的文件提交到版本库
svn commit -m “LogMessage” [-N] [--no-unlock] path(如果选择了保持锁,就使用–no-unlock开关)
简写:
svn ci

提交报错:svn: E145001: Entry ‘/home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/ ’ has unexpectedly changed special status
svn rm /home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/
如再报错:svn: ‘home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/’ is in the way of the resource actually under version control
强制删除:
svn rm --force /home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/

6、更新到某个版本
svn update -r m path
简写:
svn up

7、查看日志
svn log path

svn log -l 20 //输出最近20条信息

svn log -q //只输出版本号、时间、作者 而不输出日志

svn log --xml //让日志以xml形式输出,可二次利用

8、查看文件详细信息
svn info path

9、比较差异
svn diff path(将修改的文件与基础版本比较)
svn diff -r m:n path(对版本m和版本n比较差异)
简写:
svn di

10、将两个版本之间的差异合并到当前文件
svn merge -r m:n path

11、SVN 帮助
svn help
svn help ci

猜你喜欢

转载自blog.csdn.net/qq_30650153/article/details/79788191
今日推荐