[译] 管理源码分支的模式
现代源码控制系统提供了强有力的工具,使得在源码中创建分支变得容易。但最终这些分支都不得不合并到一块儿,许多团队还花了大量的时间把这些分支杂乱的盘根错节粘合在一起。有几个模式可以让团队有效地使用分支,并让团队专注在集成多个开发者的工作和组织通往生产(production)发布的路径周围。贯穿整体的主题是,分支应该被频繁地集成,并且努力都应该集中在可以以最小代价发布到生产环境的健康主线上。
现代源码控制系统提供了强有力的工具,使得在源码中创建分支变得容易。但最终这些分支都不得不合并到一块儿,许多团队还花了大量的时间把这些分支杂乱的盘根错节粘合在一起。有几个模式可以让团队有效地使用分支,并让团队专注在集成多个开发者的工作和组织通往生产(production)发布的路径周围。贯穿整体的主题是,分支应该被频繁地集成,并且努力都应该集中在可以以最小代价发布到生产环境的健康主线上。
功能分支是一种源码分支模式。在这种模式中,当开发者开始开发一个新功能时,她会打开一个分支。她在这个分支上完成所有的工作,并在功能完成后与团队的其他成员集成这些变更。
Git允许广泛的分支策略和工作流。因此,许多组织使用的工作流都是相当复杂且没有清晰定义的,也没有很好的与问题跟踪系统(issue tracking systems)集成在一起。所以,我们提出了GitLab flow,让它作为一组清晰定义的最佳实践。它结合了feature-driven development(功能驱动开发)和带有问题跟踪的feature branches(功能分支)。