记几个常用的命令。


首次拉仓库时,先要进行检出(url可以带端口号):

svn checkout http://svn.example.com:9834/repos

svn checkout file://localhost/var/svn/repos

svn checkout file:///var/svn/repos

附url的使用方式:



查看当前仓库的状态,可以指定某个文件的路径(选项-v可以查看所有文件,选项-u可以看远程的和本地的比较):
` svn st `

对仓库修改了其中的文件or目录要暂存(目录会递归添加,可以--non-recursive 或-N 来添加空目录 ):

svn add <files>

对拉下来的仓库稍微修改后要暂存(-F 可以用文件内容作为日志):

svn commit button.c -m "Fixed a typo in button.c."

要从暂存区域删除掉:

svn delete <file>

将本地仓库所有文件更新到最新状态(在update之前可以先看看svn st -u):

svn update

未跟踪的新文件or目录的直接导入并commit到远程仓库的某个目录下:

svn import mytree file:///var/svn/newrepos/some/project -m "Initial import"

列出远程仓库的目录下的文件:

svn list file:///var/svn/newrepos/some/project

已经跟踪的文件需要移动or删除or拷贝or创建目录:

svn copysvn deletesvn movesvn mkdir

其中move相当于copy后再delete,这些命令可能不会立刻创建文件夹,使用--parents选项可以立刻创建。

update之后可能需要解决冲突,可以先试试:

svn resolved

若不行,再按提示解决冲突,再add解决后的文件,再commit即可。

取消一些修改(file是可选的,会取消它的修改,很智能,要小心):

svn revert <file>

查看log(-r number可以只看某版的提交,也可以直接带文件):

svn log

查看区别(可以带-r选项,也可以带文件名):

svn diff

版本号:

HEAD
版本库中最新的(或者是“最年轻的”)版本。
BASE
工作拷贝中一个条目的修订版本号,如果这个版本在本地修改了,则这里指的是这个条目
在本地未修改的版本。
COMMITTED
项目最近修改的修订版本,与BASE相同或更早。
PREV
The revision immediately before the last revision in which an item changed. Technically, this boils down to COMMITTED−1.

验证

svn默认会缓存你的账户和密码,但是是明文的。一次性的不使用该缓存,只要在命令后面加:

--no-auth-cache

要永久不缓存密码,可以在svn的配置文件中写:

store-passwords = no

要切换到其他的账户,可以如下这样,它会再提示输入密码的,这样又会被保存起来了:

svn --username


状态

使用命令svn st会出现一些状态:

A item
预定加入到版本库的文件、目录或符号链的item。
C item
文件item发生冲突,在从服务器更新时与工作拷贝(如果更新时没有解决)的本地版本发生
交迭,在你提交到版本库前,必须手工的解决冲突。
D item
文件、目录或是符号链item预定从版本库中删除。
M item
文件item的内容被修改了。

冲突

update之后会有如下的选项:

(p) 让文件在更新完成之后保持冲突状态。

(df) diff-full 使用标准区别格式显示base修订版本和冲突文件本身的区别。

(e) edit 用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。

(r) resolved 完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。

(mf) mine-full 丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。

(tf) theirs-full 丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。

(l) launch 启动一个外置程序来执行冲突解决,这需要一些预先的准备。

(h) help 显示所有在冲突解决时可能使用的命令。

svn客户端命令的更多相关文章

  1. Linux下SVN客户端安装及使用

    转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...

  2. CentOS安装TortoiseSVN svn 客户端

    CentOS安装TortoiseSVN svn 客户端   一.CentOS安装TortoiseSVN yum install -y subversion 二.SVN客户端命令 1.查看帮助 命令:s ...

  3. CentOS SVN客户端应用

    一.CentOS安装TortoiseSVN yum install -y subversion   二.SVN客户端命令   1.将文件checkout到本地目录 svn checkout path( ...

  4. linux svn 客户端基本使用命令

    1.从svn获取项目 svn co URL --username XX --password XX; 2.添加code file svn add codeFile; svn ci -m "c ...

  5. mac系统及xcode使用的SVN客户端安装升级

    当前的SVN版本已经升级到1.8.x了,但mac系统自带的以及xcode使用的SVN客户端版本没有跟着升级,还是1.6.x的版本.为了解决隐藏目录.svn只在根目录下存在的情况,至少要升级到1.7.x ...

  6. Mac下的SVN客户端工具Cornerstone使用教程

    前面几篇文章我介绍SVN服务器的安装,配置,实战.当然其中也加入了一些客户端测试的命令,使用命令当然是一个非常好的选择,但是对我们人类来说还是喜欢图形化界面的操作的.因此本文将介绍我喜欢的一款SVN客 ...

  7. 在mac上安装svn客户端

    mac 10.8上面,默认是没有svn客户端的,可以通过以下两种方式来安装:    1.单独安装xcode命令行工具,安装完成后,在终端中就可以使用svn命令了,目前版本是1.6.18:    2.去 ...

  8. svn 终端命令

    你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令. 恢复本地修改  svn revert [-- ...

  9. Linux中的svn客户端RabbitVCS-2

    我们都知道,自从svn出道以来,很多人都预言,cvs将会被其取代.就如同他们预言maven要取代ant一样.可见,svn的流行.在Windows中,最常用到的开源免费的svn客户端就是Tortoise ...

随机推荐

  1. PHP干货技巧文,一些PHP性能的优化

    PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini (1) ...

  2. swift 计算label的行数方法

    这主要针对是 cell上label自适应高度, let lineSpaceKey = "lineSpaceKey" extension UILabel{ var lineSpace ...

  3. Flapper Bird的学习笔记(一)

    因为我有一个超屌的梦想,所以就绝不做孬种的追梦人! 本文主要目的是为了实现Flapper Bird的功能. 另外一个目的是为了加强对Unity引擎的理解和掌握. 新人一枚,如若看到是我幸运.若是发现错 ...

  4. liunx下,只获取主机的IP?

    命令: ifconfig eth0|awk -F "[ :]+" 'NR==2{print $4}'

  5. 关于opacity的兼容问题

    各个浏览器的解决办法: css: .opacity{ filter:alpha(opacity=50); /* IE */ -moz-opacity:0.5; /* 老版Mozilla */ -kht ...

  6. LAMP理论整理

    关于PHP 官网:http://www.php.net 一.PHP简介 PHP是通用服务器端脚本编程语言,其主要用于web开发以实现动态web页面,它也是最早实现将脚本嵌入HTML源码文档中的服务器端 ...

  7. 【转】MySQL中varchar最大长度是多少?

    一. varchar存储规则: 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无 ...

  8. Android开发-动态布局小记

    android动态布局相比静态布局,动态布局不用再将xml转变了布局代码,提高了一定的效率,当然可以忽略不记.动态布局主要是比较灵活,可以很快的在代码中直接修改布局,并直接使用控件进行业务逻辑开发.但 ...

  9. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

  10. MySQL workbench 中文乱码 显示口口

    Edit-->perference...-->Apperance  如下图 即可 转载自:http://blog.csdn.net/shxluwei/article/details/802 ...