本文档旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,我们强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的文档。

什么是分支?

假设您的工作是维护公司某个部门的文档,例如手册。有一天,另一个部门向您索要相同的手册,但需要对某些部分进行 调整,因为他们的工作方式略有不同。

在这种情况下,您会怎么做?您会做显而易见的事情:复制一份文档,然后分别维护这两份副本。当每个部门要求您进行小的更改时,您将这些更改合并到其中一个副本中。

您通常希望对两个副本进行相同的更改。例如,如果您在第一个副本中发现了一个错别字,那么第二个副本中很可能也存在相同的错别字。毕竟,这两个文档几乎相同,只是在一些特定的方面有所不同。

这就是分支的基本概念——即一条独立于另一条的开发线,但如果追溯到足够远的过去,它们仍然共享一个共同的历史。分支总是从某个东西的副本开始,然后从那里继续发展,生成自己的历史(参见 图 4.1 开发分支)。

图 4.1 开发分支

Branches of development

Subversion 提供了命令来帮助您维护文件的并行分支。它允许您通过复制数据来创建分支,并记住这些副本彼此相关。它还可以帮助您将更改从一个分支复制到另一个分支。最后,它可以使您的工作副本的一部分反映不同的分支,以便您在日常工作中 混合搭配 不同的开发线。

TortoiseSVN 官方中文版 1.14.7 发布