svn命令

SVN 常用命令一览表

 

命令 功能 使用格式
checkout 检出 svn  co  URL
up 更新到当前URL的末端 svn  up
 
switch 更新到某一tag/branch svn  switch  (tag/分支)URL
add 增加 svn  add  文件名
 
rm 删除文件 svn  rm 文件名
删除目录 svn  rm 目录名
diff 与base版本(最后检出或者更新到的版本)对比 svn  diff
与版本库中最新版本对比 svn  diff  -r  head
当前工作副本,两个版本之间对比 svn  diff  -r  reversion1:reversion2
版本库中任意两个tag做对比 svn   diff    (tag1)URL    (tag2)URL
ci 提交 svn ci -m "commit log"
log 查看当前工作副本log svn  log
 
只查看指定版本的log svn  log  -r
打印log所有附加信息 svn  log  -v
查看当前tag/branch版本详情 svn  log --stop-on-copy -v
info 查看当前工作副本所在URL svn  info
status 查看工作副本的状态 svn st
查看文件的taglist svn命令不支持,可执行cs taglist
tag 新增tag svn cp . (tag)URL
 
删除tag svn rm (tag)URL -m "commit log"
覆盖已经存在的tag 不支持
分支开发 创建branch svn  cp  (基线版本)URL (分支)URL  -m "commit log"
删除branch svn rm (分支)URL   -m "commit log"
同步 svn co (主干)URL
cd ~/wc
svn merge (主干)URL (待同步tag)URL
svn ci -m "commit log"
svn cp (主干)URL (以_PD_BL_MAIN结尾的tag)URL -m"commit log"
合并 svn co (合并目标)URL
cd ~/wc
svn merge (基线版本tag)URL  (上线tag)URL
svn ci -m "commit log"
svn cp (合并目标)URL (上线tag_MERGE_的tag对应)URL -m"commit log"

 

 

 

 

svn st
status (stat, st): 显示工作副本中目录与文件的状态。
用法: status [PATH...]
  未指定参数时,只显示本地修改的条目(没有网络访问)。
  使用 -q 时,只显示本地修改条目的摘要信息。
  使用 -u 时,增加工作版本和服务器上版本过期信息。
  使用 -v 时,显示每个条目的完整版本信息。
  输出的前七栏各占一个字符宽度:
    第一栏: 表示一个项目是增加、删除,还是修改
      “ ” 无修改
      “A” 增加
      “C” 冲突
      “D” 删除
      “I” 忽略
      “M” 改变
      “R” 替换
      “X” 未纳入版本控制的目录,被外部引用的目录所创建
      “?” 未纳入版本控制
      “!” 该项目已遗失(被非 svn 命令删除)或不完整
      “~” 版本控制下的项目与其它类型的项目重名
    第二栏: 显示目录或文件的属性状态
      “ ” 无修改
      “C” 冲突
      “M” 改变
    第三栏: 工作副本目录是否被锁定
      “ ” 未锁定
      “L” 锁定
    第四栏: 已调度的提交是否包含副本历史
      “ ” 没有历史
      “+” 包含历史
    第五栏: 该条目相对其父目录是否已切换,或者是外部引用的文件
      “ ” 正常
      “S” 已切换
      “X” 被外部引用创建的文件
    第六栏: 版本库锁定标记
      (没有 -u)
      “ ” 没有锁定标记
      “K” 存在锁定标记
      (使用 -u)
      “ ” 没有在版本库中锁定,没有锁定标记
      “K” 在版本库中被锁定,存在锁定标记
      “O” 在版本库中被锁定,锁定标记在一些其他工作副本中
      “T” 在版本库中被锁定,存在锁定标记但已被窃取
      “B” 没有在版本库中被锁定,存在锁定标记但已被破坏
    第七栏: 项目冲突标记
      “ ” 正常
      “C” 树冲突
    如果项目包含于树冲突之中,在项目状态行后会附加行,说明冲突的种类。
  是否过期的信息出现的位置是第九栏(与 -u 并用时):
      “*” 服务器上有更新版本
      “ ” 工作副本是最新版的
  剩余的栏位皆为变动宽度,并以空白隔开:
    工作版本号(使用 -u 或 -v 时)
    最后提交的版本与最后提交的作者(使用 -v 时)
    工作副本路径总是最后一栏,所以它可以包含空白字符。
  范例输出:
    svn status wc
     M     wc/bar.c
    A  +   wc/qax.c
    svn status -u wc
     M           965    wc/bar.c
           *     965    wc/foo.c
    A  +         965    wc/qax.c
    Status against revision:   981
    svn status --show-updates --verbose wc
     M           965       938 kfogel       wc/bar.c
           *     965       922 sussman      wc/foo.c
    A  +         965       687 joe          wc/qax.c
                 965       687 joe          wc/zig.c
    Status against revision:   981
    svn status
     M      wc/bar.c
    !     C wc/qaz.c
          >   local missing, incoming edit upon update
    D       wc/qax.c
有效选项:
  -u [--show-updates]      : 显示更新信息
  -v [--verbose]           : 打印附加信息
  -N [--non-recursive]     : 过时;尝试 --depth=files 或 --depth=immediates
  --depth ARG              : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
  -q [--quiet]             : 不打印信息,或只打印概要信息
  --no-ignore              : 忽略默认值和 svn:ignore 属性
  --incremental            : 给予适合串联的输出
  --xml                    : 输出为 XML
  --ignore-externals       : 忽略外部项目
  --changelist ARG         : 只能对修改列表 ARG 成员操作
                             [aliases: --cl]
全局选项:
  --username ARG           : 指定用户名称 ARG
  --password ARG           : 指定密码 ARG
  --no-auth-cache          : 不要缓存用户认证令牌
  --non-interactive        : 不要交互提示
  --trust-server-cert      : 不提示的接受未知的 SSL 服务器证书(只用于选项 “--non-interactive”)
  --config-dir ARG         : 从目录 ARG 读取用户配置文件
  --config-option ARG      : 以下属格式设置用户配置选项:
                                 FILE:SECTION:OPTION=[VALUE]
                             例如:
                                 servers:global:http-library=serf

  

posted @ 2014-11-05 22:45  juandx  阅读(433)  评论(0编辑  收藏  举报