目录

1.指令操作

2.TortoiseSVN界面操作


1.指令操作

场景 1:仅本地回退(推荐!本地文件恢复到指定版本,服务器代码不变)

适合:只想本地临时恢复旧版本,不影响团队、不修改服务器代码

# 直接更新到指定版本
svn update -r 版本号

示例:回退到版本 10086

svn update -r 10086

执行后:本地代码直接变成该版本,服务器代码无任何变化。

场景 2:回退并提交到服务器(服务器代码也同步回退)

适合:已经提交了错误代码,需要让服务器仓库也恢复到旧版本

注意:不能直接用 svn update 回退服务器,必须用反向合并

1.先同步到最新版本(必须做)

svn update

2.反向合并:从最新版本 回退到 目标版本

svn merge -r HEAD:目标版本号 .

3.检查修改(可选)

svn status

4.提交回退到服务器

svn commit -m "回退代码到版本XXX"

示例:当前最新是 200,要回退到 100

svn merge -r HEAD:100 .
svn commit -m "回退到版本100"

2.TortoiseSVN界面操作

场景 1:仅本地回退(推荐!不影响服务器)

适合:临时查看 / 测试旧版本,本地文件恢复到指定版本,服务器代码不变

  • 右键点击项目根目录(或单个文件)→ 选择 TortoiseSVN → Update to Revision...(更新到版本)
  • 在弹出窗口中:
    • 选择 Specific revision(特定版本)
    • 输入目标版本号(如 10086
    • 可选:勾选 Ignore externals(忽略外部引用)
  • 点击 OK,等待更新完成

结果:本地代码立即变成目标版本,服务器仓库无任何变化。后续想恢复到最新版本,只需右键 → SVN Update 即可

场景 2:回退并提交到服务器(服务器同步回退)

适合:已提交错误代码,需要让服务器仓库也恢复到旧版本状态(SVN 不会删除历史版本,而是创建新的回退版本)TortoiseSVN

方法 A:通过日志快速回退(推荐)

  • 先同步到最新版本:右键 → SVN Update(必须做,避免冲突)TortoiseSVN
  • 右键 → TortoiseSVN → 显示日志,打开版本历史TortoiseSVN
  • 找到目标版本(如 100):
    • 右键点击该版本 → 选择 Revert to this revision(复原到此版本)
    • 或选中从目标版本之后的所有错误版本 → 右键 → Revert changes from these revisions(复原这些版本的更改)
  • 确认操作,等待合并完成
  • 检查修改:右键 → TortoiseSVN → Check for modifications(查看修改)TortoiseSVN
  • 提交回退:右键 → SVN Commit,输入提交信息(如 回退到版本100,修复XX问题)→ 点击 OK

方法 B:通过合并功能回退(手动控制)

  • 同步到最新版本:右键 → SVN UpdateTortoiseSVN
  • 右键 → TortoiseSVN → 合并TortoiseSVN
  • 合并类型选择:Merge a range of revisions(合并一系列版本)TortoiseSVN
  • 填写信息:
    • From:仓库 URL(默认自动填充)
    • Revision range to merge:输入 HEAD:目标版本号(如 200:100)TortoiseSVN
    • 勾选 Reverse merge(反向合并)→ 点击 NextTortoiseSVN
  • 确认合并选项,点击 Merge
  • 解决冲突(如果有)→ 提交回退(步骤同方法 A 的 5-6)
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐