本手册编写是为了描述 Subversion 1.2。如果您正在运行更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅适合您 Subversion 版本的本书版本。
目录
分支、标记和合并是几乎所有版本控制系统中常见的概念。如果您不熟悉这些概念,本章将为您提供很好的介绍。如果您熟悉,那么希望您会发现 Subversion 如何实现这些概念很有趣。
分支是版本控制的基本部分。如果您打算让 Subversion 管理您的数据,那么这是您最终会依赖的功能。本章假设您已经熟悉 Subversion 的基本概念 (第 2 章,基本概念).
假设您负责维护公司某部门的文档,例如某种手册。有一天,另一个部门向您索取相同的手册,但需要“调整”一些部分,因为他们的工作方式略有不同。
在这种情况下,您该怎么做?您会做最明显的事情:您复制一份文档,然后分别维护这两份副本。当每个部门要求您进行小的更改时,您将更改合并到其中一个副本中。
您通常希望对两个副本进行相同的更改。例如,如果您在第一个副本中发现了一个错别字,则很有可能第二个副本中也存在相同的错别字。毕竟,这两个文档几乎相同;它们只在一些小的、特定的方面有所不同。
这就是 分支 的基本概念——即,一条独立于另一条的开发线,但如果您足够深入地追溯历史,它们仍然共享一个共同的历史。分支总是作为某物的副本开始,然后从那里开始,生成自己的历史(参见 图 4.1, “开发分支”)。
Subversion 提供了帮助您维护文件和目录并行分支的命令。它允许您通过复制数据来创建分支,并记住这些副本彼此相关。它还可以帮助您将更改从一个分支复制到另一个分支。最后,它可以使您的工作副本的一部分反映不同的分支,这样您就可以在日常工作中“混合搭配”不同的开发线。