本文档仍在编写中,内容可能会发生很大变化,可能无法准确描述 Apache™ Subversion® 软件的任何已发布版本。将此页面添加书签或向他人推荐此页面可能不是明智之举。请访问 https://svnbooks.subversion.org.cn/ 获取此书的稳定版本。

什么是分支?

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

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

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

这就是分支的基本概念——即一条独立于另一条线路的开发线路,但如果你追溯到足够远的时间,它们仍然共享一个共同的历史。分支总是作为某个事物的副本开始,并从那里开始发展,生成自己的历史(参见 图 4.1,“开发分支”)。

图 4.1。开发分支

Branches of development

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

TortoiseSVN 官方中文版 1.14.7 发布