最近和我的同事一起讨论了如何在Scrum项目中组织版本控制.更具体地说,分支创建的标准(每个开发人员,每个任务,每个故事,每个Sprint?)和集成方法.
我的意见是组织它的一个有用的方法是为每个用户故事创建一个分支,这样你就可以在完成后将每个Story集成到可释放的trunk中,并且它还允许你总是拥有应用程序的"可交付版本"任何时候.
因此,如果一个故事无法完成,它可能会被排除在外,并且不会影响sprint版本.(考虑到集中式工具,如果使用分布式工具,则考虑因素会有所不同)
我想知道你自己的方法,你喜欢哪种工具,以及你从经验和所吸取的教训中看到的利弊.
保持分支协议轻量级.在Scrum中,如果有人想分支代码来处理特定功能,那么就让他们.没有人应该害怕分支.这是DVCS的一个好处 - 人们在需要时进行分支,并且不会受到团队规则或标准的偏见.
对于我的钱,这是一个个案的基础,如果你开始在开发过程中看到模式,然后将它们形式化,以便每个人都在同一页面上.
只需确保每个开发人员都了解他们有责任整合和合并他们的更改.这应该设置在正确的位置左右,以确保人们正确调用何时分支代码.
每个用户故事的分支听起来对我来说太过分了.我们保留一个代码库(主干)并解决这个问题.我们通常分支的唯一一次是修复当前的生产问题,这个问题不能等到常规发布.