记几个常用的命令。


首次拉仓库时,先要进行检出(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. 自定义刷新tableView

    // //  LSTWholeTableController.m //  BUDEJIE // //  Created by admin on 16/8/17. //  Copyright © 201 ...

  2. phonegap + xcode5.0.2 配置开发环境

    phonegap官网:  http://phonegap.com/ 第一部:安装nodejs 安装地址:http://nodejs.org/ 安装phoneGap 官网下载http://phonega ...

  3. Dom4j解析xml

    public class Dom4jTest { // Dom4j解析xml // 因为所有的方法都需要Dom树 static Document document = null; static Ele ...

  4. springMVC中实现servlet依赖注入

    记录一下开发过程中遇到的问题: 首先看一下这个帖子: http://blog.csdn.net/gaogaoshan/article/details/23540129 由于我使用的是springMVC ...

  5. LeetCode 177 Nth-Highest Salary mysql,取第n条数据,limit子句 难度:1

    https://leetcode.com/problems/nth-highest-salary/ ATTENTION:limit 子句只能接受int常量,不能接受运算式 CREATE FUNCTIO ...

  6. 关于C++构造函数初始化顺序

    这里主要是说序列初始化成员变量时,存在这样的规则: 1. 先进行序列初始化,再进行构造函数函数体内的赋值等操作. 2. 序列初始化,不是简单的自左至右或自右至左,而是根据成员变量的定义顺序来初始化. ...

  7. ASP.NET DAY1

    <!-- AutoEventWireup,CodeBehind,Inherits等属性可省略, Language属性为必须项 --> <%@ Page Language=" ...

  8. Secondary NameNode:的作用?

    前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...

  9. Java之多线程开发时多条件Condition接口的使用

    转:http://blog.csdn.net/a352193394/article/details/39454157 我们在多线程开发中,可能会出现这种情况.就是一个线程需要另外一个线程满足某某条件才 ...

  10. ios 开发中 动态库 与静态库的区别

    使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...