这里只介绍了一些在linux客户端上常用的命令:
1、将文件checkout检出到指定目录
检出的文件仍处于svn版本控制中,与版本库保持关联,目录下会有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。
格式:svn checkout svn path --username 用户名 --password 密码
简写:svn co
如果不加上path本地路径的话,默认会创建一个192.168.0.80:6667目录(我这里以192.168.0.80ip为例)。
示例:如果不带--password参数传输密码的话,会提示输入密码,建议不要使用明文--password选项
svn co svn://192.168.0.80:6667
svn co svn://192.168.0.80:6667 /root/whsir
svn co svn://192.168.0.80:6667 /root/whsir --username admin
2、将文件export导出到指定目录
export导出一个无版本控制的目录树副本,导出的文件脱离svn版本控制,修改后无法进行update和commit操作,导出文件夹下没有.svn目录。
格式:svn export [-r 版本号] svn path --username 用户名 --password 密码
示例:如果-r指定了版本号,会导出相应的版本,如果不使用-r选项,默认导出最新的版本,如果不加上path本地路径的话,默认会将url的最后一部分作为本地目录的名字(如果我这里不加的话,目录名字就是192.168.0.80:6667)。
svn export svn://192.168.0.80:6667
svn export svn://192.168.0.80:6667 /root/whsir
svn export svn://192.168.0.80:6667 /root/whsir --username admin
svn export -r 2 svn://192.168.0.80:6667 /root/whsir --username admin
3、往版本库中添加新的文件
格式:svn add file
示例:添加后记得提交
svn add /root/whsir/whsir.php
svn ci -m "comments" /root/whsir/whsir.php
可以使用*进行通配
svn add /root/whsir/*.php
svn ci -m "comments" /root/whsir/*.php
4、将改动的文件提交到版本库
格式:svn commit -m "注释" path(path是你checkout的目录)
简写:svn ci
示例:
svn ci -m "comments" /root/whsir/xxx.html(这里只改动了xxx.html一个文件,改动了多个的话可以直接跟目录)
svn ci -m "comments" /root/whsir/*.html
svn ci -m "comments" /root/whsir/
5、更新到某个版本
svn update -r n path (n表示版本库号,path是你checkout的目录)
简写:svn up
svn up /root/whsir 将版本库中的文件更新到最新
svn up -r 4 /root/whsir 将版本库中的文件还原到版本4
6、删除文件
格式:svn delete path
示例:删除后记得提交一次到版本库
svn delete /root/whsir/xxx.html
svn ci -m "del xxx.html" /root/whsir/
7、加锁/解锁
加锁:svn lock -m "comments" [--force] path
解锁:svn unlock path
svn lock -m "comments" /root/whsir/whsir.html
svn unlock /root/whsir/whsir.html
8、差异比较
格式:svn diff -r m:n path
示例:18和19版本比较
svn diff -r 18:19 /root/whsir/whsir.html
9、查看文件或者目录状态
格式:svn status [-v] path
简写:svn st
几个状态码:
?:不在svn的控制中
m:内容被修改
c:发生冲突
a:预定加入到版本库
k:被锁定
加-v后每一列含义:
第一列保持相同,第二列显示工作版本号, 第三和第四列显示最后一次修改的版本号和修改人
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5Gcu4mdz9CX3AzLcdTMwIzLcNHZh9GbwV3LcRnblRnbvNWLwd3Lc12bj5icpNHa35yZvxmYvw1LcpDc0RHaiojIsJye.png)
加-v显示目录和子目录状态,不加-v则正常的状态不显示
svn st /root/whsir/
svn st -v /root/whsir/
svn st -v /root/whsir/whsir.html
10、查看日志
格式:svn log path
示例:如果版本库很多的话,可以配合grep、head和tail等命令
svn log /root/whsir/
svn log /root/whsir/whsir.html
11、查看详细信息
格式:svn info path
svn info /root/whsir/
svn lnfo /root/whsir/whsir.html