SVN+TortoiseSVN(小乌龟)教程

 一、SVN基础与工作原理

  1. 什么是SVN?
    SVN(Subversion)是一款集中式版本控制系统,通过中心版本库记录文件和目录的所有修改历史,支持数据恢复、历史追踪和多用户协同。
    核心特点

    • 代码集中存储于服务器,用户通过客户端同步(检出/更新)和提交更改。

    • 每次提交生成新版本号,便于回溯和对比差异。

  2. 为何需要SVN?

    • 解决多人协作代码冲突问题。

    • 保留完整历史版本,支持一键回退。

    • 监控代码变更记录(何人、何时、修改内容)

二、SVN服务器搭建(Windows环境)

方案1:图形化工具 VisualSVN Server
  1. 安装步骤

  2. 创建仓库与用户

    • 打开 VisualSVN Server Manager → 右键 Repositories → 新建仓库(如 MyProject)。

    • 右键 Users 创建用户(输入用户名/密码) → 右键 Groups 建组(如 Developers)并分配用户26。

    • 权限设置:右键仓库 → Properties → Security 选项卡 → 添加组/用户并设置读写权限。

方案2:命令行创建(跨平台)

 

# 创建仓库目录
svnadmin create D:\SVN\MyRepo
# 启动服务
svnserve -d -r D:\SVN\MyRepo

编辑 D:\SVN\MyRepo\conf\svnserve.conf 启用密码验证:

anon-access = none
auth-access = write
password-db = passwd

在 passwd 文件添加用户:user1 = password123

三、TortoiseSVN客户端全图解

1. 安装与配置
  • 下载安装
    官网下载TortoiseSVN → 安装时勾选 “命令行工具”(否则无svn.exe)。

  • 语言包:安装后可选中文包,右键菜单 → Settings → Language 切换中文。

2. 核心操作图解
(1) 检出项目(Checkout)
(2) 提交更改(Commit)
  • 修改文件后图标变 红色感叹号 → 右键文件/文件夹 → SVN 提交 → 填写日志 → 确认提交。
    注意:提交前先更新(避免冲突)!

(3) 更新代码(Update)
  • 右键工作副本 → SVN 更新 → 下载服务器最新版本。

(4) 解决冲突

当多人修改同一文件时:

  1. 更新时提示冲突 → 本地生成3个文件:

    • file.txt.mine(你的修改)

    • file.txt.r版本号(他人修改/旧版本)

  2. 右键冲突文件 → Edit Conflicts 手动合并 → 保存后标记为已解决 → 提交。
    https://example.com/conflict-resolve.png (图:冲突解决界面)

(5) 版本回退
  • 右键文件 → TortoiseSVN → 更新至版本 → 输入旧版本号 → 恢复。

 四、高级功能与最佳实践

1. 分支与合并
  • 创建分支:右键项目根目录 → TortoiseSVN → 分支/标记 → 输入分支路径(如 /branches/feat-login)。

  • 合并到主干:右键主干目录 → TortoiseSVN → 合并 → 选择分支路径 → 确认差异。

2. 补丁管理(Patch)
  • 生成补丁:右键修改的文件 → TortoiseSVN → 创建补丁 → 保存.patch文件。

  • 应用补丁:右键目标目录 → TortoiseSVN → 应用补丁 → 选择补丁文件。

3. 忽略无用文件
  • 右键需忽略的文件(如 target/.log)→ TortoiseSVN → 加入忽略列表,避免提交编译产物。

4. 可视化日志与版本图

 五、日常协作最佳实践

  1. 操作铁律
    先更新 → 修改代码 → 再更新 → 最后提交
    (避免覆盖他人代码和冲突)。

  2. 提交规范

    • 提交前对比差异(右键 → 检查修改)。

    • 日志清晰描述变更内容(如“修复登录页CSS错位”)。

  3. .svn目录禁忌
    工作副本中的 .svn隐藏文件夹 存储版本元数据,切勿手动修改或删除!否则副本失效。

六、常见问题速查

问题解决方案
提交失败(权限不足)联系管理员分配仓库写权限 
文件图标不显示状态重启资源管理器或重装TortoiseSVN
无法上传.a文件(Mac)修改 ~/.subversion/config 删除 *.a 

💎 教程配套资源

掌握以上技能,您已能高效管理代码版本!如遇复杂场景(如大型分支合并),建议结合 SVN命令行工具 或 IDE插件(如Subclipse)深化操作。

 

 

 

### 下载 TortoiseSVN 是一个免费开源的 Subversion 客户端,用于管理文件和目录的历史版本。访问其官方网站 [https://tortoisesvn.net/downloads.html](https://tortoisesvn.net/downloads.html) 进行下载。根据操作系统选择合适的安装包,如 Windows 64 位系统可选择 “for 64-bit OS” 版本[^1]。 如果需要中文界面,页面下拉至语言包部分,下载简体中文包(Chinese, Simplified),并确保与系统版本一致[^1]。 ### 安装 1. **启动安装程序** 双击下载的安装包,点击“Next”继续。 2. **更改安装路径** 可以通过浏览按钮选择自定义安装目录,然后点击“Next”。 3. **完成安装** 点击“Finish”结束安装流程。 4. **重启系统(可选)** 根据提示,可以选择立即重启或稍后重启系统。 5. **安装语言包** 双击下载的语言包安装程序,按照提示点击“下一步”,并在最后一步勾选“使语言包生效”,然后点击“完成”。 如果之前已经重启过系统,则 TortoiseSVN 和语言包均已安装完毕。 ### 使用教程 #### 检出远程仓库 1. **创建本地工作目录** 在本地磁盘中新建一个文件夹作为项目的工作空间。 2. **右键选择 SVN 检出** 进入该文件夹,右键点击并选择 "SVN 检出"(Checkout)。 3. **输入版本库 URL** 弹出窗口中输入远程仓库地址(例如 `http://example.com/svn/repo`),点击“确定”。 4. **处理 SSL 或证书错误(如有)** 如果出现证书错误,选择信任证书或忽略错误。 5. **输入用户名和密码** 若服务器要求身份验证,输入相应凭据进行登录。 6. **检出成功** 文件将自动从服务器下载到本地文件夹,表示检出成功。 #### 文件提交 1. **右键选择 SVN 提交** 在项目文件夹内,右键点击并选择 "SVN 提交"(Commit)。 2. **填写提交信息** 在弹出的对话框中输入本次提交的备注信息,并勾选需要提交的文件。 3. **确认提交** 点击“确定”按钮,文件将上传至远程仓库,并记录此次修改历史[^1]。 #### 文件更新同步 1. **右键选择 SVN 更新** 在项目文件夹中,右键点击并选择 "SVN 更新"(Update)。 2. **同步最新版本** 系统会从服务器获取最新的文件变更,并自动合并到本地工作目录中。 3. **更新成功** 所有其他用户提交的更改将被应用到本地文件夹,确保代码保持最新状态。 --- ```python # 示例:模拟提交操作日志 def svn_commit(files, message): print(f"准备提交以下文件: {files}") print(f"提交信息: {message}") print("提交成功!") svn_commit(["main.py", "README.md"], "修复了bug并更新文档") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值