本文档用于描述 Subversion 1.6.x 系列。如果您运行的是其他版本的 Subversion,我们强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的文档。
假设您的工作是维护公司部门的文档,比如手册。有一天,另一个部门向您索要相同的手册,但需要对其中一些部分进行“调整”,因为他们的工作方式略有不同。
在这种情况下,您该怎么办?您会做一些显而易见的事:复制一份文档并开始分别维护这两个副本。当每个部门要求您进行小的更改时,您会将这些更改合并到一个或另一个副本中。
您通常希望对两个副本进行相同的更改。例如,如果您发现第一个副本中存在一个错别字,则该错别字很可能也存在于第二个副本中。毕竟,这两个文档几乎相同;它们仅在一些小的特定方面有所不同。
这就是分支的基本概念,即独立于另一条线路的开发线路,但如果您追溯到足够远的过去,它们仍然共享一个共同的历史。分支始终从某个内容的副本开始,然后从那里发展,生成自己的历史(参见 图 4.1,“开发分支”)。
Subversion 提供了一些命令来帮助您维护文件的并行分支。它允许您通过复制数据来创建分支,并记住这些副本彼此相关。它还可以帮助您将更改从一个分支复制到另一个分支。最后,它可以使您的工作副本的部分内容反映不同的分支,以便您可以在日常工作中“混合匹配”不同的开发线路。