什么是分支

优质
小牛编辑
126浏览
2023-12-01

假设你的工作是为公司的某个部门维护文档—比如说一本手册. 一天, 另一个部门也请你替他们维护同一份文档, 但需要根据他们的部门情况, 对手册的 某些部分作一些修改.

对于这种情况你应该怎么处理? 最容易想到的做法是为另一个部门创建一份 文档的副本, 然后单独地对这两份文档进行维护. 每当部门要求对文档进行修改 时, 你就把修改写到相应的文档里.

你应该会经常对两个副本做相同的修改, 比如说你在第一个副本时发现了一 个打字错误, 同样的错误在第二个副本里也应该存在, 毕竟两份文档的大部分内容 都是一样的.

这是分支的基本概念—顾名思义, 它是一条独立存在的开发线, 如果回溯地 足够深, 将会看到它和其他分支共享相同的历史. 一个分支的生命总是开始于复 制操作, 从那儿开始产生自己的历史 (见 图 4.1 “分支示意图”).

图 4.1. 分支示意图

分支示意图

Subversion 提供了很多命令用于帮助用户维护文件与目录的并行分支, 这些 命令允许你通过复制来创建分支, 并记住这些副本之间是有关的. 它们还可以帮助 你把一个分支的修改复制到其他分支上. 最后, 它们可以把工作副本的某些部分 映射到不同的分支上, 这样你就可以在日常工作中 “混合搭配” 不同的开发线.