ubuntu下安装subversion客户端:
sudo apt-get
install subversion subversion-tools
详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html
svn子命令
1、检出
svn co
http://
路径(目录或文件的全路径) [本地目录全路径]
--username
用户名 --password
密码svn co
svn://
路径(目录或文件的全路径) [本地目录全路径]
--username
用户名 --password
密码
svn checkout
http://
路径(目录或文件的全路径) [本地目录全路径]
--username
用户名
svn checkout
svn://
路径(目录或文件的全路径) [本地目录全路径]
--username
用户名
注:如果不带--password
参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项
。
其中 username
与
password
前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
例子:
svn co
svn://
192.168.0.3/测试工具 /home/testtools
--username
wzhnsc
svn co
http://
192.168.0.3/test/testapp
--username
wzhnsc
svn checkout
svn://
192.168.0.3/测试工具 /home/testtools
--username
wzhnsc
svn
checkout
http://
192.168.0.3/test/testapp
--username
wzhnsc
2、导出(
导出一个干净的不带.svn文件夹的目录树)
svn
export
[-r
版本号] http://
路径(目录或文件的全路径)
[本地目录全路径] --username
用户名
svn
export
[-r
版本号] svn://
路径(目录或文件的全路径)
[本地目录全路径] --username
用户名
svn
export
本地检出的(即带有.svn文件夹的)目录全路径
要导出的本地目录全路径
注:第一种从版本库导出干净工作目录树的形式是指定URL,
如果指定了修订版本号,会导出相应的版本,
如果没有指定修订版本,则会导出最新的,导出到指定位置。
如果省略
本地目录全路径
,URL的最后一部分会作为本地目录的名字。
第二种形式是指定 本地检出的目录全路径 到
要导出的本地目录全路径,所有的本地修改将会保留,
但是不在版本控制下(即没提交的新文件,因为.svn文件夹里没有与之相关的信息记录)的文件不会拷贝。
例子:
svn
export
svn://
192.168.0.3/测试工具
/home/testtools
--username
wzhnsc
svn
export
http://
192.168.0.3/test/testapp
--username
wzhnsc
svn
export
/home/
testapp
/home/testtools
3、
添加新文件
svn add
文件名
注:告诉SVN服务器要添加文件了,还要用svn commint -m真实的上传上去!
例子:
svn add
test.php <-
添加test.php
svn commit -m
“添加我的测试用test.php“
test.php
svn add
*.php <-
添加当前目录下所有的php文件
svn commit -m
“添加我的测试用全部php文件“
*.php
4、
提交
svn commit -m
“提交备注信息文本“ [-N] [--no-unlock]
文件名
svn ci
-m
“提交备注信息文本“ [-N] [--no-unlock]
文件名
必须带上-m参数,参数可以为空,但是必须写上-m
例子:
svn commit -m
“提交当前目录下的全部在版本控制下的文件“ *
<-
注意这个*表示全部文件
svn commit -m
“提交我的测试用test.php“
test.php
svn commit -m
“提交我的测试用test.php“
-N --no-unlock
test.php <-
保持锁就用–no-unlock开关
svn ci -m
“提交当前目录下的全部在版本控制下的文件“ *
<-
注意这个*表示全部文件
svn ci -m
“提交我的测试用test.php“
test.php
svn ci -m
“提交我的测试用test.php“
-N --no-unlock
test.php <-
保持锁就用–no-unlock开关
5、
更新文件
svn update
svn update -r
修正版本 文件名
svn update
文件名
例子:
svn update
<-
后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本
svn update -r
200
test.cpp
<-
将版本库中的文件 test.cpp
还原到修正版本(revision)200
svn
update
test.php
<-
更新与版本库同步。
提交的时候提示过期冲突,需要先 update 修改文件,
然后清除svn resolved,最后再提交commit。
6、
删除文件
svn delete svn://
路径(目录或文件的全路径) -m
“删除备注信息文本”
推荐如下操作:
svn delete
文件名
svn ci -m
“删除备注信息文本”
例子:
svn delete
svn://
192.168.1.1/testapp/test.php -m
“删除测试文件test.php”
推荐如下操作:
svn delete
test.php
svn ci -m
“删除测试文件test.php”
7、
加锁/解锁
svn lock -m
“加锁备注信息文本“ [--force]
文件名
svn unlock
文件名
例子:
svn lock -m
“锁信测试用test.php文件“
test.php
svn unlock
test.php
8、
比较差异
svn diff
文件名
svn diff -r
修正版本号m:
修正版本号n
文件名
例子:
svn diff
test.php<-
将修改的文件与基础版本比较
svn diff -r
200:
201 test.php<-
对
修正版本号200 和 修正版本号201 比较差异
9、
查看文件或者目录状态
svn st
目录路径/名
svn status
目录路径/名<-
目录下的文件和子目录的状态,正常状态不显示
【?:不在svn的控制中; M:内容被修改;C:发生冲突;
A:预定加入到版本库;K:被锁定】
svn -v
目录路径/名
svn status -v
目录路径/名<-
显示文件和子目录状态
【第一列保持相同,第二列显示工作版本号,
第三和第四列显示最后一次修改的版本号和修改人】
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,
原因是svn在本地的.svn中保留了本地版本的原始拷贝。
10、
查看日志
svn log
文件名
例子:
svn log
test.php<-
显示这个文件的所有修改记录,及其版本号的变化
11、
查看文件详细信息
svn info
文件名
例子:
svn info
test.php
12、
SVN 帮助
svn help
<-
全部功能选项
svn help
ci <-
具体功能的说明
13、
查看版本库下的文件和目录列表
svn list
svn://
路径(目录或文件的全路径)
svn ls
svn://
路径(目录或文件的全路径)
例子:
svn list
svn://
192.168.0.3/test
svn ls
svn://
192.168.0.3/test <-
显示svn://
192.168.0.3/test目录下的所有属于版本库的文件和目录
14、
创建纳入版本控制下的新目录
svn mkdir
目录名
svn mkdir -m
"新增目录备注文本" http://
目录全路径
例子:
svn mkdir
newdir
svn mkdir -m
"Making a new dir."
http://
192.168.0.3/test/newdir
注:添加完子目录后,一定要回到根目录更新一下,不然在该目录下提交文件会提示“提交失败”
svn update
注:如果手工在checkout出来的目录里创建了一个新文件夹newsubdir,
再用svn mkdir
newsubdir命令后,SVN会提示:
svn: 尝试用 “svn add”或 “svn add --non-recursive”代替?
svn: 无法创建目录“hello”: 文件已经存在
此时,用如下命令解决:
svn add --non-recursive
newsubdir
在进入这个newsubdir文件夹,用ls -a查看它下面的全部目录与文件,会发现多了:.svn目录
再用 svn mkdir -m "添hello功能模块文件"
svn://192.168.0.3/test/newdir/newsubdir 命令,
SVN提示:
svn: File already exists: filesystem '/data/svnroot/test/db',
transaction '4541-1',
path '/newdir/newsubdir '
15、恢复本地修改
svn revert
[--recursive]
文件名
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。
例子:
svn revert
foo.c <-
丢弃对一个文件的修改
svn revert --recursive
. <-恢复一整个目录的文件,. 为当前目录
16、把工作拷贝更新到别的URL
svn switch http://
目录全路径 本地目录全路径
例子:
svn switch http://
192.163.0.3/test/456
. <-
(原为123的分支)当前所在目录分支到
192.163.0.3/test/456
17、解决冲突
svn resolved
[本地目录全路径]
例子:
$ svn update
C foo.c
Updated to revision 31.
如果你在更新时得到冲突,你的工作拷贝会产生三个新的文件:
$ ls
foo.c
foo.c.mine
foo.c.r30
foo.c.r31
当你解决了foo.c的冲突,并且准备提交,运行svn resolved让你的工作拷贝知道你已经完成了所有事情。
你可以仅仅删除冲突的文件并且提交,但是svn
resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令。
18、不checkout而查看输出特定文件或URL的内容
svn cat http://
文件全路径
例子:
svn cat
http://
192.168.0.3/test/readme.txt
分享到:
相关推荐
ubuntu安装svn步骤及所需文件
ubuntu下源码安装svn客户端,简单方便。
1. 安装SVN apt-get install subversion 2. 建立svn仓库 1). 建立svn目录:mkdir /home/.svn(使用隐藏目录) 2). cd /home/.svn 3). mkdir astar 4). 创建仓库astar:svnadmin create /home/.svn/astar,...
Ubuntu+svn+ssl+ldap 的安装以及集成
ubuntu SVN命令大全 ubuntu SVN命令大全 ubuntu SVN命令大全 ubuntu SVN命令大全
ubuntu下SVN服务器安装配置 标签: ubuntu svn it 分类: sys-linux/windows 一、SVN安装 1.安装包 $ sudo apt-get install subversion 2.添加svn管理用户及subversion组 $ sudo adduser svnuser $ sudo addgroup...
操作SVN界面习惯了,到了linux下懒得再用命令行了; 按照网上的步骤操作,遇到了各种问题,又对各个问题作了整理和说明 包含了客户端和服务器端需要做的修改 希望能给大家帮助 如果有问题,也请联系我,很高兴和大家...
ubuntu下svn+apache安装配置
ubuntu下简单安装svn 服务器--简介: svn是目前使用比较多的版本控制软件,目前在linux下,svn服务器一般有两个选择:svnserve和apache,下文就主要介绍怎么在ubuntu9.10里安装和使用svn服务器。
SVN 离线安装包,版本为1.9.3。无需联网,按照安装说明进行安装,在ubuntu 16.04 LTS下测试安装成功
轻松安装SVN客户端,让你更轻松的进行规则编码
在ubuntu 10.04下安装svn server的过程;包括配置和client的使用等
ubuntu linux中配置svn+apache+ssl
ubuntu smartsvn 9.2 license ,ubuntu亲测smartsvn9.2可用
ubuntu下RabbitVCS安装方法。 适用于SVN、GIT、Hg 的客户端工具。 集成右键菜单
ubuntu 版本控制器svn搭建,确认可以使用
Ubuntu上搭建SVN服务器详细步骤。 目 录 1 概述 1 2 安装Ubuntu 9.10服务器 1 3 安装Apache服务器 1 ...附录A:远程修改SVN用户口令工具使用方法 9 附录B:Ubuntu 9.10修改IP地址 10 附录C:Ubuntu下配置SSH服务 10
在Ubuntu 18 LTS环境中,搭建一个简单apache2+subversion的版本控制。
ubuntu 12.04 svn server 配置, 个人配置记录分享
SVN服务器使用说明-Ubuntu版本 公司最近要用SVN,整理好得文档