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