Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 并行开发分支策略_C#_.net_Version Control_Tfs_Branch - Fatal编程技术网

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修复,而不是在当前版本未被使用之后。如果这段时间很长,树枝之间的距离可能会太远,导致头痛


这是一篇关于常见分支模式的文章,可能很有用。该指南非常有用。谢谢你指出这一点。