首页 > 代码库 > svn命令

svn命令

SVN 常用命令一览表

 

命令功能使用格式
checkout检出svn  co  URL
up更新到当前URL的末端svn  up
 
switch更新到某一tag/branchsvn  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查看当前工作副本logsvn  log
 
只查看指定版本的logsvn  log  -r
打印log所有附加信息svn  log  -v
查看当前tag/branch版本详情svn  log --stop-on-copy -v
info查看当前工作副本所在URLsvn  info
status查看工作副本的状态svn st
查看文件的taglistsvn命令不支持,可执行cs taglist
tag新增tagsvn cp . (tag)URL
 
删除tagsvn rm (tag)URL -m "commit log"
覆盖已经存在的tag不支持
分支开发创建branchsvn  cp  (基线版本)URL (分支)URL  -m "commit log"
删除branchsvn 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 ststatus (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

  

svn命令