本备忘单总结了常用的 SVN 命令行指令,以供快速参考。
| 名称 | 说明 | 
|---|---|
| svn | 命令行程序 | 
| svnversion | 工作副本的修订 | 
| svnlook | 检查存储库 | 
| svnadmin | 存储库管理 | 
| svndumpfilter | 过滤存储库流 | 
| mod_dav_svn | Apache 模块 | 
| svnserve | SVN服务器(SVN协议) | 
| svnsync | 镜像仓库 | 
$ svn add *
# 添加文件夹中的所有项目,然后递归(忽略版本目录)
$ svn add itemname
# 如果 itemname 是文件夹,
# 则所有子文件夹 并且文件也会被添加
$ svn add * --force
# 强制递归到版本化目录
$ svn commit "/path"
# 提交对文件或文件夹的更改
$ svn commit -m "Message" "/path"
# 提交消息“Message”
$ svn commit -N "/path"
# 提交对文件夹的更改而不递归
| 协议 | 说明 | 
|---|---|
| file:// | 本地 | 
| http:// | HTTP (Apache) | 
| https:// | HTTPS (SSL) | 
| svn:// | SVN (svnserve) | 
| svn+ssh:// | SVN over SSH | 
$ svn delete "/path"
$ svn -m "Deleting" delete "/path"
# 删除并显示消息“正在删除”
$ svn copy "sourcepath" "targetpath"
# 将源复制到目标
$ svn move "sourcepath" "targetpath"
# 将源移动到目标
| 命令 | 说明 | 
|---|---|
| $ svn resolve "/path" | 解决冲突 | 
| $ svn cleanup "/path" | 递归删除,锁并完成,操作 | 
| $ svn lock "/path" | 锁定路径 | 
| $ svn unlock "/path" | 解锁路径 | 
| $ svn cat "/path" | 查看文件内容 | 
| $ svn status "/path" | 获取路径状态 | 
$ svn help
$ svn help import
# 显示“导入”命令的帮助
$ svn revert "/path/filename"
# 恢复对文件的更改
$ svn revert -R "/path/folder"
# 递归恢复对文件夹的更改
$ svn log "/path"
# 显示存储库中的日志消息
$ svn blame "/path"
#  显示路径的带有消息的提交
$ svn import folder "/path/to/repository"
| 命令 | 说明 | 
|---|---|
| ' ' | 无修改 | 
| A | 添加 | 
| D | 删除 | 
| M | 修改的 | 
| R | 已更换物品 | 
| C | 冲突中 | 
| X | 外部定义 | 
| I | 被忽略 | 
| ? | 不在存储库中 | 
| ! | 物品缺失 | 
| ~ | 对象类型已更改 | 
$ svnadmin create "/path/to/repository"
# 创建存储库
$ svnadmin setlog "path" -r 7 message.txt
# 第7版的更改日志消息
# message.txt内容的“路径”
$ svnadmin dump "repository" > filename
# 将存储库的内容转储到文件
$ svnadmin load "repository" < filename
# 将文件的内容加载到存储库
$ svn diff "/path/file"
# 查看“/path/file”中的更改
$ svn diff "/path/file@2" "/path/file@7"
# 比较修订版2和7中的文件
$ svn diff -r 2:7 "/path/folder"
# 比较修订版2和7中的所有文件
$ svn checkout "/path/to/repository/folder"
# 创建“文件夹”的工作副本
$ svn checkout "/path" foldername
# 签出到新文件夹“foldername”
$ svn merge -r 2:7 "item" "/path/file"
# 在修订2之间应用差异
# 和“item”到“/path/file”的7
$ svn merge "url1" "url2" "/path/file"
# 应用“url1”和
# “url2”到“/path/file”
| 命令 | 说明 | 
|---|---|
| $ svn proplist "/path" | 列出属性 | 
| $ svn propset PROP VAL | 设置属性“PROP” | 
| $ svn "/path" | 至值“VAL” | 
| $ svn propget PROP "/path" | 获取“PROP”的值 | 
| $ svn propedit PROP "/path" | 编辑“PROP” | 
| $ svn propdel PROP "/path" | 删除“PROP” | 
| 参数 | 说明 | 
|---|---|
| -m "Message" | --message | 
| -q | --quiet | 
| -v | --verbose | 
| -r | --revision | 
| -c | --change | 
| -t | --transaction | 
| -R | --recursive | 
| -N | --non-recursive | 
$ svn update "/path"
$ svn update -r9 "/path"
# 更新至修订版9