语法: svn <subcommand> [options] [args]
      使用“svn help <subcommand>” 显示子命令的帮助信息。
      使用“svn --version”查看程序的版本号和版本库访问模块,或者
      使用“svn --version --quiet”只查看程序的版本号。

1.【检出】将文件checkout到本地目录
   将“项目版本库”检出到/wwwroot目录(不存在就创建)
   # svn checkout svn://192.168.1.xx:3690/martinZFsvn/wwwroot
   简写:svn co

注:第一次登陆svn服务器会将密码信息存放在用户路径下的.subversion文件夹下,路径为/root/.subversion/

2.【添加】向版本库添加新文件
   # echo 'myaddfile.....' > svnaddfile.txt  新创建了一个文件
   # svn add svnaddfile.txt                  将新文件svnaddfile.txt添加到版本库
   # svn add *.php                           将当前目录的所有php文件添加到版本库

3.【提交】将改动的文件提交到版本库
   svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
              -m 参数表示“最近信息”内容,相当于是每次提交新版本的备注信息

# svn commit -m 'add test file for my test' svnaddfile.txt 将svnaddfile.txt文件提交到版本库
   简写:svn ci

4.【更新】将本地文件更新到某个版本
   svn update -r m path

例如:
   svn update 如果后面没有目录,默认将当前目录及子目录下的所有文件都更新到最新版本
   # svn update                       更新整个目录
   # svn update newdir                更新newdir目录(这个目录可以是已经存在的,也可是新添加的)
   # svn update ./svnaddfile.txt      更新当前目录的svnaddfile.txt,如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit。
   # svn update -r 8 ./svnaddfile.txt 更新svnaddfile.txt还原到版本8
   简写:up

5.【删除文件】
   svn delete PATH -m 'delete test file,'
   # svn delete ./grptest11/test111.txt

或者直接 # svn delete ./grptest11/test111.txt 然后再 # svn ci -m 'delete test file' 推荐使用这种

简写:svn (del, remove, rm)

6.【加锁/解锁】
   svn lock -m 'LockMessage' [--force] PATH

# svn lock -m '我现在修改这个文件,其他人先别改哦' svnaddfile.txt  //对svnaddfile.txt加锁

svn unlock PATH 解锁

7.查看文件或目录状态
  svn status PATH (检查PATH目录下的文件和子目录的状态,正常状态不显示)
  注:?:表示不在svn的控制中; M:表示内容被修改; C:表示发生冲突; A:表示预定加入到版本库; K:表示被锁定

svn status -v PATH (显示文件和子目录状态)
  第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
  注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st

8.查看日志
  svn log PATH
  例如:# svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9.查看文件详细信息
  svn info PATH
  例如:# svn info svnaddfile.txt

10.比较差异
  svn diff PATH (将被修改的文件与基础版比较)
  例如:# svn diff svnaddfile.txt

svn diff -r m:n path(对版本m和版本n比较差异)
  例如:# svn diff -r 8:12 svnaddfile.txt

简写:svn di

11.将两个版本之间的差异合并到当前文件
  svn merge -r m:n PATH
  例如:# svn merge -r 8:12 svnaddfile.txt (将版本8与12之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12.【帮助】
    # svn help
    # svn help ci
    # svn help up

------------------------------------------------------------------------------------------------------

13.版本库下的文件和目录列表
   例如:svn list path
   简写:svn ls

14.创建纳入版本控制下的新目录
   用法:1.# mkdir PATH
         2.# mkdir URL

创建版本控制的目录。
   1.每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。
   2.每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。

15.恢复本地修改
   svn revert 恢复原始未改变的工作副本文件(恢复大部分的本地个性) revert
   用法:# svn revert PATH

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录

16.代码库URL变更
   svn switch (sw): 更新工作副本至不同的URL。
   用法: 1、switch URL [PATH]
         2、switch --relocate FROM TO [PATH...]
   1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。
   2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

17.解决冲突
   svn resolved: 移除工作副本的目录或文件的“冲突”状态。
   用法: resolved PATH...
   注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。

18.输出指定文件或URL的内容
   svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。
   svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

注:大多数的子命令可接受文件或目录参数,对目录进行递归处理。如果没有指定参数,默认对当前目录(包含当前目录)递归处理。

可用子命令:
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)     检出
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   patch
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   relocate
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)
   upgrade

参考文档
http://blog.chinaunix.net/uid-22150747-id-189264.html
http://blog.163.com/kingna_jin/blog/static/32488347200868858899/
http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076783.html

subversion(SVN)常规使用的更多相关文章

  1. subversion(SVN)安装配置

    简介subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.Subversion是一个版本控制系统,相对于的RCS. ...

  2. subversion SVN

    subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件. Subversion是一个版本控制系统,相对于的RCS.C ...

  3. linux-centos下源代码安装subversion (svn)

    1.svn的源代码 1.1 可以在官方下载,官方地址 :svn 1.6.17源码包  http://subversion.tigris.org/servlets/ProjectDocumentList ...

  4. centos 配置subversion svn

    Subversion是一个自由,开源的版本控制系统. 1.安装: yum install subversion 2.配置 mkdir -p /var/svn/svnrepos #新建文件夹 svnad ...

  5. SubVersion(SVN)的安装配置使用

    一. SubVersion服务器端安装 安装软件:Setup-Subversion-1.6.4.msi,下载地址:http://subversion.tigris.org/servlets/Proje ...

  6. Notepad++集成Subversion SVN插件

    点击Plugin –> Plugin Manager –> Show Plugin Manager 打开后,在“Available”页找到“Subversion”,然后点击“Install ...

  7. CentOS下Subversion(SVN)的快速安装与配置

    如果你是一个软件开发者,你一定对Subversion不会感到陌生.Subversion是一个自由开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放 ...

  8. subversion(SVN)服务配置及使用方法

      1.安装 yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql -y 2.查看版本 svnserve --vers ...

  9. 使用 Subversion (SVN) 的方式来访问 Github(转)

    [转至]:http://www.open-open.com/lib/view/open1340760267717.html

随机推荐

  1. 扩展ValidationAttribute 1

    MVC中经常会用一些服务端对Model的验证. 服务端验证要继承自ValidationAttribute,并重写IsValid虚方法来自定义自己的验证规则. protected override Va ...

  2. js转换数据类型为浮点型,并取两位小数点

    转换数据类型 parseFloat();//转换为浮点型 parseInt();//转换为整形 取后面两位小数 bianliang.toFixed(2);//取后面两位小数,2代表取多少位

  3. 每天一个 Linux 命令(20):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  4. [ActionScript 3.0] 两个AIR之间的通信示例LocalConnection

    发送方AIR程序: package { import flash.display.DisplayObjectContainer; import flash.display.Sprite; import ...

  5. 学习笔记:同程旅游缓存系统设计:如何打造Redis时代的完美体系(含PPT)

    内容在:http://chuansong.me/n/478502951177 PPT在:http://pan.baidu.com/s/1nvnOEBf 工具 跟 服务 的差别 从工具到服务之间缺失了哪 ...

  6. SQL Server 树形表非循环递归查询

    很多人可能想要查询整个树形表关联的内容都会通过循环递归来查...事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例.   --通过子节点查询父节点WITH  TREE AS(  ...

  7. UI和3D场景同时都需要响应触摸事件

    比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分.为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上. 以前NGUI的时候都是自己 ...

  8. 创建一个List获取数据的lookup

    第一步,在类:syslookup中新建方法 public static client void lookupList(FormStringControl _formStringControl, Lis ...

  9. 组合or继承

    面向对象设计有一个原则“优先使用对象组合,而不是继承”. 下面是两者优缺点的比较: 组 合 关 系 继 承 关 系 优点:不破坏封装,整体类与局部类之间松耦合,彼此相对独立 缺点:破坏封装,子类与父类 ...

  10. css狂记

    接着上一篇 html狂记,同样是DIV+CSS传统站点开发,同样只是收集.整理... CSS 背景属性(Background) 属性 描述 CSS background 在一个声明中设置所有的背景属性 ...