SVN 简介(一)

1.简介

笔记来源:SVN 教程

一、SVN 是什么?

  • 全称:Subversion,一个开源的版本控制系统
  • 核心作用:管理随时间变化的数据。它有一个中央资料档案库,能记住文件的每一次变动,让你可以恢复旧版本或查看历史。

二、关键概念与日常流程

概念 英文 说明
源代码库 Repository 所有代码统一存放的中心服务器。
提取 Checkout 从仓库首次获取一份完整的代码到本地。
提交 Commit 将本地修改后的代码上传到仓库,供他人获取。
更新 Update 将本地代码与仓库中的最新代码同步

1.日常协作流程

Update (获取最新)​ → 修改 & 调试​ → Commit (提交共享)

2.冲突处理

  • 两人修改不同行:SVN 自动合并。
  • 两人修改同一行:SVN 提示 Conflict​ (冲突),需要手动解决。

三、优势 (相比 CVS)

  1. 原子提交:一次提交要么全部成功,要么全部失败,不会造成数据不完整。
  2. 目录版本控制:可以记录目录的重命名、复制、删除等操作历史。
  3. 高效处理二进制文件:只保存与上一版本的差异,节省空间。
  4. 元数据版本控制:文件和目录都可以附带自定义属性(键值对),并且这些属性的变更也会被记录。
  5. 低成本分支与标签:通过类似“硬链接”的复制机制创建分支和标签,速度极快,空间占用极小。
  6. 灵活的网络层:可集成到 Apache HTTP 服务器,或通过 SSH 使用自定义轻量协议。
  7. 良好的可开发性:提供清晰的 C 语言 API,便于其他程序或语言调用。

四、总结

SVN 是一个集中式的版本控制系统,通过一个中央仓库来管理文件和目录的完整历史,支持原子提交、高效的分支与标签,并且在处理文本和二进制文件时表现一致。它解决了 CVS 在目录版本控制、原子性等方面的核心缺陷。