news 2026/9/6 5:07:15

TortoiseSVN 超详细使用教程|手把手关联 Gitee 远程仓库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TortoiseSVN 超详细使用教程|手把手关联 Gitee 远程仓库

前言

很多开发者日常习惯使用 Git 做版本管理,但部分老旧项目、文档资源项目依然在使用 SVN。SVN 属于集中式版本控制系统,上手简单,权限管理直观,对大文件友好。TortoiseSVN 是 Windows 下最常用的 SVN 图形化客户端,俗称小乌龟。本篇文章讲解 SVN 基础、TortoiseSVN 安装配置、对接 Gitee 仓库、右键菜单全部功能、日常开发高频操作、命令行以及踩坑总结。

一、SVN 与 TortoiseSVN 基础介绍

1. SVN(Subversion)

SVN 是集中式版本控制系统,所有版本数据保存在中央远程仓库,本地只是一份工作副本。所有提交、回滚、对比都要和远程仓库交互。

优点

  1. 上手简单,学习成本低
  2. 权限粒度细,可以针对目录设置读写权限
  3. 对二进制大文件友好,适合文档、资源文件管理
  4. 操作逻辑简单,适合中小型团队

缺点

  1. 依赖中央仓库,服务器故障会影响全部工作
  2. 分支操作相比 Git 笨重
  3. 离线无法提交版本

区分:Git 是分布式,本地完整保存全部仓库历史;SVN 集中式,本地只有当前代码。

2. TortoiseSVN

TortoiseSVN 是 Windows 平台开源免费的 SVN 图形客户端,集成到系统右键菜单,不需要单独打开软件,右键即可完成 svn 全部操作。

⚠️注意:安装 TortoiseSVN 的时候,务必勾选安装命令行工具,否则 cmd 无法使用 svn 指令。

二、准备工作

1. 安装 TortoiseSVN

  1. 官网下载对应系统版本:TortoiseSVN
  2. 运行安装包,一路 next,勾选 Command Line Tools 命令行工具
  3. 安装完成后,重启资源管理器,右键菜单就会出现 TortoiseSVN 相关选项。
  4. 验证命令行:打开 cmd,输入svn --version,输出版本号代表安装成功。

2. Gitee 端开启 SVN 支持

Gitee 仓库同时支持 Git 和 SVN 访问。

  1. 打开你的 Gitee 项目仓库主页
  2. 克隆仓库处,切换到SVN地址,复制 SVN 仓库地址
  3. Gitee 账号密码:使用 Gitee 账号,密码处填写个人私人令牌,不要填登录密码

Gitee 现在禁止账号登录密码直接用于 svn/http 访问,需要生成私人令牌。

生成 Gitee 私人令牌步骤

  1. Gitee 右上角头像 → 设置 → 安全设置 → 私人令牌
  2. 生成新令牌,勾选权限:projects(项目相关权限)
  3. 复制保存令牌,只显示一次,这个就是 SVN 访问时的密码。

三、TortoiseSVN 关联 Gitee 仓库完整流程

方式 1:检出(Checkout)远程仓库到本地

适用于 Gitee 已经有仓库,把代码拉取到本地

  1. 在本地新建一个空文件夹,作为工作目录
  2. 文件夹空白处右键 →SVN Checkout...
  3. URL of repository:粘贴 Gitee 的 SVN 仓库地址
  4. Checkout directory:本地工作目录(刚才新建文件夹)
  5. 检出深度默认Fully recursive全部递归,点击 OK
  6. 弹窗输入账号:gitee 用户名;密码:私人令牌(不行了用gitee 密码!!!
  7. 等待完成,本地文件夹就会拉取远程仓库文件,文件夹出现 svn 标记图标。

如果本地文件夹没有图标:TortoiseSVN 设置,重启电脑,或者清理图标缓存。

方式 2:本地已有项目,提交到 Gitee SVN 仓库

⚠️SVN 不能直接把本地普通文件夹上传远程,需要先导入,不要直接拖拽。

  1. 本地项目文件夹右键 → TortoiseSVN → Import
  2. URL 填写 Gitee SVN 远程地址
  3. 填写提交备注,OK,输入账号和私人令牌
  4. Import 只是把文件上传远程,本地文件夹不会变成 svn 工作副本
  5. 导入完成后,必须执行 Checkout 检出远程仓库到本地,得到带 svn 管理的工作副本,后续才能提交更新。

重点坑:Import 导入之后本地不是工作副本,不能直接修改提交,必须重新 checkout。

四、TortoiseSVN 右键菜单全功能详解

在已经被 SVN 管理的工作副本文件夹空白处右键,弹出下面菜单,每一项作用与实操说明:

  1. Show log 显示日志查看当前文件 / 文件夹全部提交历史、版本号、提交人、时间日志。可对比版本、回溯历史。 使用:右键→Show log,双击条目查看改动;选中记录右键可做版本对比。 场景:追溯代码修改记录,定位 bug 引入版本。
  2. Repo‑browser 仓库浏览器无需完整检出,直接浏览远程仓库目录文件。 使用:输入远程 SVN 地址,输入账号令牌,直接查看远程文件,复制 URL。 场景:只想看远程文件,不想下载全部代码。
  3. Check for modifications 检查修改扫描本地,列出所有新增、修改、删除、冲突文件,无需连接远程服务器。 使用:提交前执行,确认自己改动了哪些文件,防止误提交无关内容。
  4. Revision graph 版本图图形化展示仓库分支、标签、合并分叉关系。 使用:点击生成可视化分支树。 场景:多分支项目理清分支演进关系。
  5. Resolve... 解决冲突手动修改完冲突代码之后,标记冲突已经处理完毕。 使用:冲突文件右键→Resolve,清理.mine临时冲突文件。 场景:多人修改同一位置产生冲突后使用。
  6. Update to revision... 更新到指定版本本地切换到某个历史版本,只修改本地,不会改动远程仓库。 使用:输入版本号,本地回退;想要远程回滚需要在此基础上再 commit 提交。 场景:复现旧版本 bug,临时查看历史代码。
  7. Revert... 还原丢弃本地尚未提交的全部修改,恢复为服务器版本。修改直接清除,不可恢复。 使用:勾选需要还原文件确认。 场景:本地代码写乱,放弃改动回到原始版本。
  8. Clean up... 清理修复 SVN 工作副本锁定报错。操作中途中断会出现working copy is locked。 使用:项目根目录右键 Clean up,勾选全部修复选项执行。 场景:update、commit 报错提示工作副本锁定。
  9. Get lock... 获取锁对二进制文件(图片、psd、word 文档)加独占锁,其他人不能提交该文件。 使用:选中文件 Get lock,填写备注。 场景:无法合并的二进制资源,防止多人同时编辑产生冲突。
  10. Release lock... 释放锁手动解除文件锁;提交代码默认会自动释放锁。 使用:文件右键 Release lock。 场景:加锁之后放弃修改,把权限还给其他同事。
  11. Branch/tag... 分支 / 标签SVN 分支和标签本质是远程仓库复制。trunk 主干开发,branches 存放开发分支,tags 存放发布版本。 使用:填写远程新分支 URL,填写提交日志创建。 场景:开发新功能分支、版本发布打版本标签。
  12. Switch... 切换本地工作副本切换到其他分支 / 标签,不需要重新 checkout。 使用:填写目标分支远程 URL,确认切换。 场景:主干切到开发分支进行开发。
  13. Merge... 合并将其他分支的改动合并到当前本地工作副本。 使用:先 switch 到目标分支,填写源分支地址与版本范围执行合并。合并后需要本地测试再 commit。 场景:功能分支开发完毕,合并回主干代码。
  14. Export... 导出导出一份纯净文件包,不带 SVN 隐藏.svn 元数据文件夹。 使用:选择输出路径导出。 场景:打包部署、交付客户代码包。
  15. Relocate... 重定位远程仓库地址变更,本地工作副本重新绑定新地址,不用重新检出。 ⚠️区分:仓库物理迁移才用 Relocate;切换分支用 Switch,不要混淆。 场景:Gitee 仓库改名、服务器域名更换。
  16. Add... 添加把本地新建文件加入 SVN 版本追踪,标记蓝色加号,还没有上传远程。 使用:选中新增文件 Add,之后执行 commit 才上传服务器。

直接复制粘贴进文件夹不会自动纳入版本,必须 Add。

  1. Copy URL to clipboard 复制 URL 到剪贴板一键复制当前文件对应的远程仓库地址。 场景:发给同事,用于 Repo‑browser 访问。
  2. Shelve... 搁置临时保存本地未提交修改,工作副本恢复干净状态。 使用:命名搁置补丁,保存改动,本地恢复干净。 场景:正在写一半代码,紧急处理别的 bug,先把改动存起来。
  3. Unshelve... 取消搁置恢复之前 Shelve 搁置保存的本地修改。 场景:bug 修复完成,恢复之前未完成的代码。
  4. Create patch... 创建补丁把本地改动导出.patch补丁文件,不提交仓库,传递改动。 场景:没有仓库提交权限,把修改发给别人。
  5. Apply patch... 应用补丁把外部 patch 补丁应用到本地代码。
  6. Properties 属性配置 SVN 属性,最常用svn:ignore配置忽略文件(idea、target、日志文件不参与版本管理),也可以配置外部引用 svn:externals。
  7. Settings 设置TortoiseSVN 全局配置。 常用:清除保存账号令牌缓存、修改图标覆盖、配置对比工具、网络代理。
  8. Help 帮助:官方帮助文档。
  9. About 关于:查看 TortoiseSVN 版本号。

日常高频操作

  • SVN Update:拉取远程最新代码,多人协作修改前优先 update
  • SVN Commit:提交本地修改到远程,必须填写提交备注日志

图标状态说明:

  • 绿色对勾:本地文件和远程版本一致
  • 红色感叹号:本地修改未提交
  • 蓝色加号:新增待提交文件
  • 黄色感叹号:文件冲突

冲突处理流程

多人修改同一位置代码,update 产生冲突,生成.mine.rxxx冲突文件。

  1. 手动打开文件合并代码
  2. 冲突文件右键 Resolve 标记冲突解决
  3. 执行 commit 提交

五、命令行 SVN 常用命令

安装勾选 Command Line Tools 后 cmd 可直接执行

# 检出仓库 svn checkout 仓库地址 本地目录 # 更新 svn update # 提交,‑m填写注释 svn commit -m "完成登录模块开发" # 添加文件 svn add 文件名 # 查看日志 svn log # 撤销本地修改 svn revert 文件名

六、常见问题踩坑汇总

  1. Import 导入后本地无法提交Import 只是上传文件,本地不是工作副本。解决方案:执行 Checkout 检出仓库。
  2. 文件夹没有小乌龟图标TortoiseSVN 设置里面重置图标缓存,重启电脑,或者确认安装时勾选 shell 扩展。
  3. svn 检出报错 SSL 证书问题右键 TortoiseSVN 设置,网络,勾选忽略 SSL 证书校验。
  4. 提交忘记写日志SVN 强制要求提交日志,空备注无法提交,写清楚修改记录方便追溯。

七、SVN 和 Git 简单对比总结

表格

特性SVN(TortoiseSVN)Git
架构集中式分布式
存储中央仓库保存版本,本地仅副本本地完整全量版本库
大文件支持友好需要 LFS 辅助
分支笨重轻量高效
离线操作不能离线提交本地可提交
Gitee 支持支持 SVN 地址原生支持

结尾

SVN 虽然不如 Git 流行,但在文档管理、传统项目、部分企业内部系统仍然大量使用。TortoiseSVN 图形化操作降低了 SVN 使用门槛。区分 Import 导入和 Checkout 检出的区别,避开新手高频坑点。

本文环境:Windows11、TortoiseSVN 最新版、Gitee 私有 / 公开仓库

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 5:07:03

嵌入式入行避坑指南:从培训选择到项目实战的完整路线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 5:06:49

服装模板机原理、参数与车间落地:技术向详解

一、定义与工作原理 结论:服装模板机由机头、模板夹具、伺服驱动与气动压脚组成,按预先在亚克力模板上刻好的轨迹进行自动缝纫,本质是把"熟练工的手法"固化为"设备的程序"。 传统平缝机依赖工人对位、走线与控制针距&…

作者头像 李华
网站建设 2026/9/6 5:01:39

全家游北京一家一团怎么安排?2026 扶老携幼宝妈带娃北京一家一团纯玩无购物出行全指南

对于计划带家人来北京旅行的家庭来说,选择什么样的出行方式往往决定了整个旅程的质量。全家游北京一家一团、扶老携幼北京一家一团、宝妈带娃北京一家一团,这三类典型的家庭出行场景,虽然人员构成和需求特点各不相同,但都对出行的…

作者头像 李华
网站建设 2026/9/6 4:58:15

ubuntu-nat模式不能上网解决方法

要访问不同虚拟机的mysql,需要nat网络模式,另ip处于统一网段。改了nat后不能上网,问了豆包折腾大半天还是不行,果然还是要自己搜。将这个五个都确认是:运行状态,就可以了。感谢这个李洋的博主。

作者头像 李华
网站建设 2026/9/6 4:56:34

Python编程游戏网站实测:边闯关边学语法,刷题也能上头

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 4:55:01

最新大数据毕业设计选题推荐-基于大数据的银行客户定期存款订阅数据分析与可视化-大数据-Spark-Hadoop-Bigdata

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

作者头像 李华