SVN - 基本概念

什么是版本控制系统?

版本控制系统 (VCS) 是一种软件,可帮助软件开发人员协同工作并维护其工作的完整历史。

以下是版本控制系统的目标。

  • 允许开发人员同时工作。
  • 不要覆盖彼此的更改。
  • 维护所有内容的每个版本的历史记录。

VCS 分为两类。

  • 集中式版本控制系统 (CVCS),以及
  • 分布式/去中心化版本控制系统 (DVCS)。

在本教程中,我们将只关注集中式版本控制系统,尤其是 Subversion。 Subversion 属于集中式版本控制系统,这意味着它使用中央服务器来存储所有文件并实现团队协作。


版本控制术语

让我们首先讨论我们将在本教程中使用的一些术语。

  • 存储库:存储库是任何版本控制系统的核心。 它是开发人员存储所有工作的中心位置。 存储库不仅存储文件,还存储历史。 存储库通过网络访问,充当服务器,版本控制工具充当客户端。 客户端可以连接到存储库,然后他们可以在存储库中存储/检索他们的更改。 通过存储更改,客户端将这些更改提供给其他人,并通过检索更改,客户端将其他人的更改作为工作副本。

  • 主干:主干是所有主要开发发生的目录,通常由开发人员签出以处理项目。

  • Tags :标签目录用于存储项目的命名快照。 标记操作允许为存储库中的特定版本提供描述性和易记的名称。

    For example, LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT is more memorable than

    Repository UUID: 7ceef8cb-3799-40dd-a067-c216ec2e5247 and

    Revision: 13

  • 分支: 分支操作用于创建另一条开发线。 当您希望您的开发过程分叉到两个不同的方向时,它很有用。 例如,当您发布 5.0 版时,您可能想要创建一个分支,以便可以将 6.0 功能的开发与 5.0 错误修复分开。

  • 工作副本: 工作副本是存储库的快照。 该存储库由所有团队共享,但人们不会直接对其进行修改。 相反,每个开发人员都会签出工作副本。 工作副本是一个私人工作场所,开发人员可以在其中与团队其他成员隔离地进行工作。

  • 提交更改: 提交是将更改从私人工作场所存储到中央服务器的过程。 提交后,所有团队都可以使用更改。 其他开发人员可以通过更新他们的工作副本来检索这些更改。 提交是一个原子操作。 整个提交成功或回滚。 用户永远不会看到一半完成的提交。