手册

第 2 章。基本版本控制概念

目录

版本库
版本控制模型
文件共享的问题
锁定-修改-解锁方案
复制-修改-合并方案
Subversion 做什么?
Subversion 的实际应用
工作副本
版本库 URL
修订版本
工作副本如何跟踪版本库
总结

本章是 Subversion 书籍中相同章节的略微修改版本。Subversion 书籍的在线版本可在此处获取: http://svnbook.subversion.org.cn/

本章是对 Subversion 的简短、随意的介绍。如果您是版本控制新手,那么本章绝对适合您。我们首先讨论一般的版本控制概念,逐步深入了解 Subversion 背后的具体思想,并展示一些 Subversion 在使用中的简单示例。

即使本章中的示例展示了人们共享程序源代码集合,请记住 Subversion 可以管理任何类型的文件集合 - 它不限于帮助计算机程序员。

版本库

Subversion 是一个用于共享信息的集中式系统。它的核心是一个版本库,它是数据的中央存储库。版本库以文件系统树的形式存储信息 - 这是典型的文件和目录层次结构。任何数量的客户端连接到版本库,然后读取或写入这些文件。通过写入数据,客户端使信息可供他人使用;通过读取数据,客户端从他人那里接收信息。

图 2.1。典型的客户端/服务器系统

A Typical Client/Server System

那么为什么这很有趣呢?到目前为止,这听起来像是典型文件服务器的定义。确实,版本库一种文件服务器,但它不是您通常的那种。Subversion 版本库的特殊之处在于,它记住了写入它的每一次更改:对每个文件的每一次更改,甚至对目录树本身的更改,例如文件和目录的添加、删除和重新排列。

当客户端从版本库读取数据时,它通常只看到文件系统树的最新版本。但是客户端也能够查看文件系统的以前状态。例如,客户端可以提出历史性问题,例如上周三这个目录包含什么?,或者谁是最后一个更改此文件的人,他们做了哪些更改?这些是任何版本控制系统的核心问题:旨在记录和跟踪数据随时间变化的系统。

TortoiseSVN 主页