当前位置: 首页 > news >正文

二、SVN基础命令速查表

SVN基础命令速查表

📋 目录

  • 基本操作
  • 文件管理
  • 分支管理
  • 标签管理
  • 信息查询
  • 冲突解决
  • 权限管理
  • 常用参数

🔧 基本操作

检出代码

# 检出整个仓库
svn checkout <URL> [PATH]# 检出特定版本
svn checkout <URL> [PATH] -r <版本号># 检出特定目录
svn checkout <URL>/trunk [PATH]# 示例
svn checkout https://svnbucket.com/user/project ./my-project
svn checkout https://svnbucket.com/user/project/trunk ./trunk -r 100

更新代码

# 更新到最新版本
svn update [PATH]# 更新到特定版本
svn update [PATH] -r <版本号># 更新特定文件
svn update file.txt# 示例
svn update
svn update -r 150
svn update src/main.js

提交更改

# 提交所有更改
svn commit [PATH] -m "提交信息"# 提交特定文件
svn commit file1.txt file2.txt -m "提交信息"# 强制提交(不检查)
svn commit --no-unlock [PATH] -m "提交信息"# 示例
svn commit -m "修复登录bug"
svn commit src/ -m "更新源代码"

查看状态

# 查看工作副本状态
svn status [PATH]# 显示详细信息
svn status -v [PATH]# 显示忽略的文件
svn status --no-ignore [PATH]# 示例
svn status
svn status -v src/

📁 文件管理

添加文件

# 添加新文件
svn add <文件路径># 添加目录
svn add <目录路径># 添加所有新文件
svn add . --force# 示例
svn add newfile.txt
svn add src/newmodule/
svn add . --force

删除文件

# 删除文件
svn delete <文件路径># 删除目录
svn delete <目录路径># 强制删除
svn delete --force <路径># 示例
svn delete oldfile.txt
svn delete src/oldmodule/

移动/重命名

# 移动文件
svn move <源路径> <目标路径># 重命名文件
svn move oldname.txt newname.txt# 示例
svn move src/old.js src/new.js
svn move file.txt docs/file.txt

复制文件

# 复制文件
svn copy <源路径> <目标路径> -m "提交信息"# 复制到不同位置
svn copy file.txt backup/file.txt -m "创建备份"# 示例
svn copy src/main.js src/main_backup.js -m "创建备份"

🌿 分支管理

创建分支

# 创建分支
svn copy <源URL> <分支URL> -m "创建分支"# 从主干创建分支
svn copy <trunk_URL> <branch_URL> -m "创建功能分支"# 示例
svn copy https://svnbucket.com/user/project/trunk \https://svnbucket.com/user/project/branches/feature-login \-m "创建登录功能分支"

切换分支

# 切换到分支
svn switch <分支URL> [PATH]# 切换回主干
svn switch <trunk_URL> [PATH]# 示例
svn switch https://svnbucket.com/user/project/branches/feature-login
svn switch https://svnbucket.com/user/project/trunk

合并分支

# 合并分支到当前工作副本
svn merge <源URL> [PATH]# 合并特定版本范围
svn merge -r <起始版本>:<结束版本> <源URL> [PATH]# 合并到主干
svn merge https://svnbucket.com/user/project/branches/feature-login# 示例
svn merge -r 100:150 https://svnbucket.com/user/project/branches/feature-login

删除分支

# 删除分支
svn delete <分支URL> -m "删除分支"# 示例
svn delete https://svnbucket.com/user/project/branches/feature-login \-m "删除已合并的登录功能分支"

🏷️ 标签管理

创建标签

# 创建标签
svn copy <源URL> <标签URL> -m "创建标签"# 创建版本标签
svn copy <trunk_URL> <tag_URL> -m "发布版本v1.0.0"# 示例
svn copy https://svnbucket.com/user/project/trunk \https://svnbucket.com/user/project/tags/v1.0.0 \-m "发布版本v1.0.0"

删除标签

# 删除标签
svn delete <标签URL> -m "删除标签"# 示例
svn delete https://svnbucket.com/user/project/tags/v1.0.0 \-m "删除错误标签"

📊 信息查询

查看日志

# 查看提交历史
svn log [PATH]# 查看特定文件的日志
svn log <文件路径># 查看特定版本范围
svn log -r <起始版本>:<结束版本> [PATH]# 显示详细信息
svn log -v [PATH]# 示例
svn log
svn log src/main.js
svn log -r 100:150
svn log -v

查看信息

# 查看文件信息
svn info [PATH]# 查看URL信息
svn info <URL># 示例
svn info
svn info src/main.js
svn info https://svnbucket.com/user/project/trunk

查看差异

# 查看工作副本与仓库的差异
svn diff [PATH]# 查看特定文件的差异
svn diff <文件路径># 查看两个版本的差异
svn diff -r <版本1>:<版本2> [PATH]# 查看与特定版本的差异
svn diff -r <版本号> [PATH]# 示例
svn diff
svn diff src/main.js
svn diff -r 100:150
svn diff -r 100 src/main.js

查看文件列表

# 列出目录内容
svn list [URL]# 显示详细信息
svn list -v [URL]# 递归显示
svn list -R [URL]# 示例
svn list https://svnbucket.com/user/project/trunk
svn list -v
svn list -R src/

⚠️ 冲突解决

查看冲突

# 查看冲突文件
svn status# 查看冲突详情
svn diff

解决冲突

# 标记冲突已解决
svn resolved <文件路径># 解决所有冲突
svn resolved --accept working <文件路径>
svn resolved --accept theirs <文件路径>
svn resolved --accept mine <文件路径># 示例
svn resolved src/main.js
svn resolved --accept working src/main.js

回滚操作

# 回滚到上一个版本
svn revert <文件路径># 回滚整个目录
svn revert -R <目录路径># 回滚到特定版本
svn update -r <版本号> [PATH]# 示例
svn revert src/main.js
svn revert -R src/
svn update -r 100

🔐 权限管理

锁定文件

# 锁定文件
svn lock <文件路径> -m "锁定原因"# 强制锁定
svn lock --force <文件路径> -m "强制锁定"# 示例
svn lock src/main.js -m "正在修改核心功能"

解锁文件

# 解锁文件
svn unlock <文件路径># 强制解锁
svn unlock --force <文件路径># 示例
svn unlock src/main.js

📝 常用参数

全局参数

# 指定版本号
-r <版本号>--revision <版本号># 指定消息
-m <消息>--message <消息># 递归操作
-R--recursive# 强制操作
--force# 详细输出
-v--verbose# 安静模式
-q--quiet# 非交互模式
--non-interactive

常用选项

# 忽略外部引用
--ignore-externals# 深度控制
--depth empty|files|immediates|infinity# 接受选项
--accept postpone|base|working|mine-conflict|theirs-conflict|mine-full|theirs-full|edit|launch

🚀 常用组合命令

初始化项目

# 检出项目并设置忽略文件
svn checkout <URL> ./project
cd project
echo "*.log" >> .svnignore
svn propset svn:ignore -F .svnignore .
svn commit -m "设置忽略文件"

批量操作

# 添加所有新文件
svn status | grep "^?" | awk '{print $2}' | xargs svn add# 删除所有已删除的文件
svn status | grep "^!" | awk '{print $2}' | xargs svn delete# 提交所有更改
svn commit -m "批量更新"

备份操作

# 导出特定版本
svn export <URL>@<版本号> ./backup# 创建完整备份
svnadmin dump <仓库路径> > backup.dump# 恢复备份
svnadmin load <仓库路径> < backup.dump

📚 命令速查卡片

操作命令说明
检出svn checkout <URL>下载代码到本地
更新svn update更新到最新版本
提交svn commit -m "消息"提交更改到服务器
状态svn status查看文件状态
添加svn add <文件>添加新文件到版本控制
删除svn delete <文件>删除文件
移动svn move <源> <目标>移动或重命名文件
日志svn log查看提交历史
差异svn diff查看文件差异
信息svn info查看仓库信息
锁定svn lock <文件>锁定文件
解锁svn unlock <文件>解锁文件
解决冲突svn resolved <文件>标记冲突已解决
回滚svn revert <文件>撤销本地更改

💡 使用技巧

1. 提交前检查

# 查看将要提交的文件
svn status# 查看具体更改
svn diff# 查看日志确认
svn log -r HEAD

2. 分支管理

# 创建功能分支
svn copy trunk branches/feature-name -m "创建功能分支"# 开发完成后合并
svn merge branches/feature-name trunk# 删除已合并分支
svn delete branches/feature-name -m "删除已合并分支"

3. 版本管理

# 创建发布标签
svn copy trunk tags/v1.0.0 -m "发布版本v1.0.0"# 查看版本历史
svn log -v tags/# 回滚到特定版本
svn update -r 100

这个速查表涵盖了SVN的常用命令,建议打印出来放在手边,方便快速查阅。

http://www.dtcms.com/a/361991.html

相关文章:

  • Python OpenCV图像处理与深度学习:Python OpenCV对象检测入门-Haar级联分类器与人脸检测
  • LeetCode刷题-top100( 除自身以外数组的乘积)
  • MATLAB 实现同步压缩小波变换
  • C++ 虚继承:破解菱形继承的“双亲困境”
  • 拆解期货交易所:清算交收体系!
  • 配置sscms时被sql server处处刁难
  • 从 Skip Take 到 Keyset:C# 分页原理与实践
  • 考研复习-计算机网络-第一章-计算机网络概述
  • Parasoft C/C++test解析:覆盖率与可追溯性的软件测试协同方案
  • 免费GIS服务器方案:OGC标准3DTiles服务发布与跨平台渲染实践
  • 安全等保复习笔记
  • flume接收处理器:构建高可用与高性能的数据链路
  • Python 人工智能深度学习系统学习(附视频教程)
  • PowerPoint和WPS演示如何在放映PPT时用鼠标划重点
  • C++ STL序列容器-------list
  • 无人设备遥控器之安全加密体系
  • 【收藏级】Windows AI 本地开发「完全体」环境搭建清单
  • 多校区学校押金原路退回系统之免安装使用教程——东方仙盟
  • 计算机三级嵌入式填空题——真题库(28)原题附答案速记
  • matlab-神经网络的语音识别
  • 神经网络2——使用Keras实现MLP
  • 深度学习中常用的激活函数
  • 玩转OurBMC第二十二期:OurBMC之PCIe接口应用(上)
  • Triton Linalg编译
  • 系统性学习数据结构-第二讲-顺序表与链表
  • K8S-etcd数据库的相关操作
  • DHT11-温湿度传感器
  • 基于单片机智能饮水机/智能热水壶
  • Redis 如何实现分布式锁,以及redis的适应场景分析
  • 【跨平台编译】【树莓派】在x86上编译树莓派上运行的CC++代码,搭建树莓派4B的跨平台编译环境