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
收获不会与付出成反比
by juandx