Subversion 速查表
SVN(Subversion)速查表包含SVN最重要概念、方法等,帮助初学者快速掌握SVN。
入门
Subversion 组件
名称 | 说明 |
---|---|
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"
# 提交对文件夹的更改而不递归
Subversion 协议
协议 | 说明 |
---|---|
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 ... )
命令 | 说明 |
---|---|
$ svn resolve "/path" | 解决冲突 |
$ svn cleanup "/path" | 递归删除,锁并完成,操作 |
$ svn lock "/path" | 锁定路径 |
$ svn unlock "/path" | 解锁路径 |
$ svn cat "/path" | 查看文件内容 |
$ svn status "/path" | 获取路径状态 |
Subversion 帮助
$ 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 ... )
命令 | 说明 |
---|---|
$ 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
声明 定期同步开源项目
reference
评论
欢迎提交文档错误或者建议。提交成功后自己可见,其他用户待审核通过后才可见。
您暂未登录
必须登录后才能使用评论功能(评论、点赞、回复、删除等),请
点击跳转登录
。首次评论仅自己可见,待管理员审核通过后,才会对外发布。