SVN 基本常用操作指南

SVN 基本常用操作指南

以下是 SVN(Subversion)常用二级命令的详细说明及使用示例,按功能分类整理,结合应用场景和参数解析,便于快速掌握核心操作。

📁 ​​一、基础操作命令​​

​​checkout (co)​​

​​功能​​:从版本库检出代码到本地工作副本。

​​语法​​:svn checkout [本地路径]

​​示例​​:

svn co http://svn.example.com/project/trunk # 检出主干

svn co -r 202 http://svn.example.com/project/trunk mydir # 检出特定版本到mydir目录

​​关键选项​​:-r 指定版本号 。

​​update (up)​​

​​功能​​:将本地工作副本更新至版本库最新状态。

​​语法​​:svn update [路径]

​​示例​​:

svn up # 更新当前目录

svn up -r 305 # 回退到版本305

​​注意​​:若提交时提示“过期”,需先更新解决冲突 。

​​commit (ci)​​

​​功能​​:提交本地修改到版本库。

​​语法​​:svn commit -m "提交日志" [路径]

​​示例​​:

svn ci -m "修复用户登录Bug" src/auth.c # 提交指定文件

svn ci -m "更新配置文件" # 提交所有修改

​​选项​​:--no-unlock 保留文件锁 。

📂 ​​二、文件与目录管理​​

​​add​​

​​功能​​:将新文件/目录纳入版本控制。

​​语法​​:svn add <路径>

​​示例​​:

svn add config.ini # 添加单个文件

svn add docs/ --depth=empty # 仅添加空目录(不包含内容)

​​注意​​:需后续执行 commit 生效 。

​​delete (del, rm)​​

​​功能​​:删除版本库或本地文件。

​​语法​​:svn delete

​​示例​​:

svn rm old_module.py # 删除本地文件并标记待提交

svn rm -m "移除冗余模块" http://svn.example.com/project/trunk/old_module.py # 直接删除版本库文件

​​推荐流程​​:先本地删除再提交 。

​​mkdir​​

​​功能​​:创建纳入版本控制的目录。

​​语法​​:

svn mkdir <本地路径> # 本地创建(需提交)

svn mkdir -m "日志" # 直接在版本库创建

​​示例​​:

svn mkdir new-feature # 本地创建目录

svn mkdir -m "创建docs目录" http://svn.example.com/project/trunk/docs

🔍 ​​三、版本查看与比较​​

​​log​​

​​功能​​:查看提交历史。

​​语法​​:svn log [路径]

​​示例​​:

svn log -l 5 # 显示最近5条日志

svn log -v src/main.c # 查看文件详细修改记录

​​选项​​:-v 显示修改文件列表;--stop-on-copy 显示分支起点 。

​​diff (di)​​

​​功能​​:比较差异。

​​语法​​:svn diff [-r 版本1:版本2] [路径]

​​示例​​:

svn di # 比较当前所有修改

svn di -r 100:105 app.c # 对比版本100与105的差异

svn di -c 202 # 查看版本202的变更内容

​​blame (annotate, ann)​​

​​功能​​:逐行显示文件修改者和版本。

​​语法​​:svn blame <文件>

​​示例​​:

svn ann -r 150:200 utils.py # 查看150到200版本间的修改记录

🌿 ​​四、分支与标签管理​​

​​copy (cp)​​

​​功能​​:创建分支或标签。

​​语法​​:svn copy <源URL> <目标URL> -m "日志"

​​示例​​:

# 创建分支

svn cp http://svn.example.com/project/trunk \

http://svn.example.com/project/branches/feat-login \

-m "创建登录功能分支"

# 创建标签(标记发布版本)

svn cp http://svn.example.com/project/trunk \

http://svn.example.com/project/tags/v1.0 \

-m "发布v1.0"

​​merge​​

​​功能​​:合并分支或版本差异。

​​语法​​:svn merge -r <起始版本>:<结束版本> <源URL> [本地路径]

​​示例​​:

# 将分支合并到当前主干

svn merge http://svn.example.com/project/branches/feat-login

# 回滚版本(反向合并)

svn merge -r 305:300 app.py # 将305到300的变更撤销

​​关键点​​:合并后需解决冲突并提交 。

⚙️ ​​五、属性与配置管理​​

​​propset (pset, ps)​​

​​功能​​:设置文件属性(如忽略规则)。

​​语法​​:svn propset <属性名> <值> <路径>

​​示例​​:

svn ps svn:ignore "*.log" logs/ # 忽略logs目录下所有.log文件

​​proplist (plist, pl)​​

​​功能​​:列出属性。

​​语法​​:svn proplist [路径]

​​示例​​:

svn pl -v src/ # 显示src目录下所有属性及其值

🛠️ ​​六、冲突解决与维护​​

​​resolve​​

​​功能​​:标记冲突已解决。

​​语法​​:svn resolve <文件>

​​示例​​:

svn resolve config.ini # 手动编辑冲突后执行

​​注意​​:仅标记状态,不自动修改内容 。

​​cleanup​​

​​功能​​:修复工作副本锁问题。

​​语法​​:svn cleanup [路径]

​​示例​​:

svn cleanup # 当操作中断导致副本锁定时使用

​​命令速查表​​

​​命令​​

​​功能简述​​

​​常用示例​​

svn status (st)

查看工作副本状态

svn st -u (显示更新提示)

svn info

显示版本库信息

svn info (查看当前URL和版本)

svn revert

撤销本地修改

svn revert file.c

svn export

导出干净代码(无.svn目录)

svn export http://svn.example.com/project

svn switch (sw)

切换工作副本指向的分支

svn switch http://svn.example.com/project/branches/dev

更多命令细节可通过 svn help <子命令> 查看(如 svn help merge)。

​​提示​​:

使用 -r 指定版本号,支持 HEAD(最新)、BASE(本地基线)等关键字 。

冲突解决流程:update → 手动修改 → resolve → commit 。

相关推荐

《方舟:生存進化》雪山生存方法 教你如何抗寒
365体育平台bet下载入口

《方舟:生存進化》雪山生存方法 教你如何抗寒

📅 08-09 👁️ 4737
DNF手游王的遗迹在哪里 怎么进攻略分享
365bet网址开户

DNF手游王的遗迹在哪里 怎么进攻略分享

📅 09-04 👁️ 5133
历届世界杯收视率排名(世界杯收视率太高了)
365bet网址开户

历届世界杯收视率排名(世界杯收视率太高了)

📅 07-03 👁️ 7943