执行功能合并后,我们应该删除分支,还是稍后再合并回来?

After performing a feature merge, are we supposed to delete the branch, or merge back later?

使用 TFS,但问题似乎适用于任何版本控制系统。

在以下场景中,我在 main 文件夹旁边创建了一个名为 dev\< project > 的本地文件夹,用于功能 1 开发作为主文件夹的一个分支。当功能 1 完成时,我将它合并回来。

当需要处理功能 4 时,我是否应该将主文件合并回功能 1 文件夹(分支)并将其用于功能 4 工作,或者如下图所示,我是否应该删除功能 1文件夹并简单地创建另一个文件夹以用于功能 4 的分支?还是没有本质区别?也许有些实际问题不是很明显?

图片取自Professional Team Foundation Server 2013St. Jean et al

在使用特征分支方法时,我更喜欢删除 "closed" 分支,并采用新的分支。

我这样做有以下三个原因:

  • 我可以将分支命名为与正在处理的功能相关的名称
  • 消除任何潜在的合并冲突(因此降低回归风险)
  • 完全有可能同时处理多个功能,这应该在不同的分支中完成以允许隔离。