C# 并行开发分支策略
我面临的挑战是需要在未知的时间段内维护同一产品的两个版本。我想我已经想出了一个可行的解决方案,但我想把它带离社区,进行一次“理智检查”。当前,当请求一个新功能时,从主干中剪切一个分支,在该分支中完成开发,然后将该分支合并回主干。这是我工作过的大多数地方的典型策略 最近,一个新的分支被切断,以进行一次主要的功能检修,这将导致与主干不兼容的更改。我们所有的用户最终都将被迫使用这个新版本,但在一段时间内,这两个版本都将在野外存在。在我深入讨论之前,下面是我当前的分支计划的示意图C# 并行开发分支策略,c#,.net,version-control,tfs,branch,C#,.net,Version Control,Tfs,Branch,我面临的挑战是需要在未知的时间段内维护同一产品的两个版本。我想我已经想出了一个可行的解决方案,但我想把它带离社区,进行一次“理智检查”。当前,当请求一个新功能时,从主干中剪切一个分支,在该分支中完成开发,然后将该分支合并回主干。这是我工作过的大多数地方的典型策略 最近,一个新的分支被切断,以进行一次主要的功能检修,这将导致与主干不兼容的更改。我们所有的用户最终都将被迫使用这个新版本,但在一段时间内,这两个版本都将在野外存在。在我深入讨论之前,下面是我当前的分支计划的示意图 版本:当前是当前发布
版本:当前是当前发布的版本。随着Version:New的开发,bug修复将继续为Version:Current提供,它(很可能)需要合并到Version:New中。显然,Version:New的任何新功能/bug修复只需要合并到Version:New中。一旦Version:Current不再在字段中,Version:New将成为单一主干。虽然我认为这是可行的,但我认为它很快就会变成一场管理噩梦。我的问题是:在我的案例中,是否有一种“更好”的分支策略可以遵循,或者说这几乎就是它?您应该选择一种最适合您的团队及其工作方式的分支策略。但你所描述的是一种非常普遍的做事方式。我想补充一点,您可能希望更频繁地合并来自当前版本的bug修复,而不是在当前版本未被使用之后。如果这段时间很长,树枝之间的距离可能会太远,导致头痛
这是一篇关于常见分支模式的文章,可能很有用。该指南非常有用。谢谢你指出这一点。