您的日常工作不需要分支。让每个人都处理主源目录中的文件。将代码移动到子目录(例如“/trunk”)可能很聪明,这样您也可以在根目录中拥有其他目录(例如分支目录)。
开发时会发生冲突,但它们应该很小且易于解决。提交应该尽可能小。TortoiseSVN 有一个很好的用户界面,可以在你提交时解决冲突。
唯一必须使用分支的情况是,如果两个或多个开发人员一起开发无法提交到主干的功能,例如,如果它还没有准备好在即将发布的版本中发布并且计划在以后的版本中发布。
创建分支的好时机是发布应用程序时。为第一个版本创建一个名为 1.X 的分支。然后继续在主干中向 2.0 工作。在 1.X 分支中,您可以构建 1.0 版本,然后再构建 1.1 版本等等(不会干扰主干中的 2.0 版本)。
请注意这两种类型的分支之间的区别:发布分支是从主干分叉出来的,并且永远存在。单个错误修复可以在主干和发布分支之间合并,但发布分支永远不会合并回主干。
在功能分支中,主干更改通过合并不断导入。功能完成后,整个分支合并到主干中,之后不再使用该分支。
Release branches __testing_1.X__..._rel_1.0___.._rel_1.1 ___2.X_branch_
/ /
___________trunk__________/_______trunk______________________________/____..
\ /
\_____really big feature for v2 only__________/
Feature branches
对于日常开发,您可以根据需要使用分支。一种选择是每个功能一个分支,但您可能会发现这会产生比它为小团队解决的问题更多的问题。解决 SVN 中的冲突通常比管理多个分支和执行许多合并要容易得多。在其他版本控制系统(例如 Git)中情况有所不同。