使用短分支实时策略进行功能切换长时间功能

时间:2017-05-01 09:03:58

标签: git azure-devops continuous-deployment continuous-delivery

嗨搜索如何使用功能切换长时间功能和短分支生活策略。 建议使用短生活分支(PR和每天合并主人),但是如果你的功能很长,如何制作这个。如何在git历史记录中拆分多个分支中的功能。

我建议在分支名称中使用版本控制,如下所示:

  • 创建feature-A-v1分支(在生产中关闭)
  • PR
  • 合并
  • 删除功能-A-v1分支
  • 创建feature-A-v2分支(在生产中切换)
  • PR
  • 合并
  • 删除功能-A-v2分支

但在互联网上我找不到这样的样本,我也不明白为什么这样做是好的做法。

1 个答案:

答案 0 :(得分:0)

功能分支通常用于开发新功能或修复错误。因此对于不同的功能/错误,您应该使用不同的功能分支,并将功能分支合并到主分支中,直到完成

当你展示feature-A-V1feature-A-V2的过程时,如果为不同的功能开发了两个功能分支,你应该按照你所展示的那样(它们作为短生命分支)。但是为同一个功能(功能A)开发的两个分支,你应该合并直到功能A完成。在某种程度上,我们称之为长期生活特征分支。

使用长寿分支,通常按照以下步骤操作:

1.Assume feature-A分支已从production签出,您正在使用feature-A分支。

A---B---C  production
         \           
          D feature-A

2.在feature-A分支上开发时,其他开发人员更新production分支,结构如下:

A---B---C---G---H  production
         \           
          D---E---F feature-A

3.完成feature-A分支的开发后,在推送和创建PR之前,您可以重新定义feature-A分支,以确保它基于production分支的最新版本。您可以使用命令:

git checkout feature-A
git pull origin production --rebase

结构看起来像:

A---B---C---G---H  production
                 \           
                  D'---E'---F' feature-A

现在您可以将feature-A推送到远程并创建PR以将其合并到production分支。

a successful branching module,你可以参考。

<强>更新

由于您需要合并和部署feature-A-v1,并修复其他错误,但又不想为此情况创建新的功能分支。您可以结帐到feature-A-v1分行,然后通过合并production将其快进到feature-A-v1feature-A-v1也会指向下图中的提交O)。

A---B---C---M---O  production
         \     /        
          D---N    feature-A-v1


A---B---C---M---O  production, feature-A-v1
         \     /        
          D---N