如何在 AzureDevOps 存储库中使用主和开发上的 PR 分支策略实现/设置 GitFlow?

hey*_*erj 2 git git-flow pull-request azure-devops

当我在 master 和开发分支上有拉取请求分支策略时,如何在 Azure Repos 上实现 Git Flow?我很想让它发挥作用,但我不知道最佳实践。我目前在 Azure Git 存储库上设置了 gitflow,但在 master 上有 PR 分支策略。如果由于没有创建 PR 而推送到 master 失败,我该如何完成发布或修补程序分支。同样,如果我的开发分支在 AzureDevOps 存储库中有 PR 分支策略,我无法使用“git flow feature ...finish”“完成”我的功能,因为推送开发分支会失败?

我已经尝试过在开发(用于完成功能)和主控(用于发布合并和/或修补程序合并)上没有 PR 分支策略。

我试图查阅 AzureDevOps 的分支策略指南,但它没有提及 GitFlow https://learn.microsoft.com/en-us/azure/devops/repos/git/git-branching-guidance?view=azure -devops#管理发布

该指南更直接地针对新功能从“master”创建功能分支并与 PR 合并,然后对于版本,它建议您从 master 创建发布和修补程序分支,这些分支永远不会合并回来。

预期:能够完成功能并通过 PR 合并回开发 能够同时完成发布和修补程序并合并回 master 并通过 PR 进行开发。

实际:完成一个功能。尝试合并到具有 PR 分支策略的任何分支(master、develop)时,发布或修补程序失败

Chr*_*own 6

前几天,在我组织的标准会议上,您提出了您的问题。研究了几个小时后,我最好的答案是 GitFlow 不会与 Azure DevOps 通过 git 存储库提供的所有额外功能兼容。毕竟,GitFlow 只是一组用于管理 git 存储库中分支的标准和工作流程。Azure DevOps 是 git 存储库的特定实现,上面有一堆额外的功能。例如,如果您已应用分支策略进行开发,那么 GitFlow 功能工作流程将不允许您从开发完成功能分支,因为无法进行提交,正如您在问题中所讨论的那样。此外,您会发现构建和发布管道被连接起来以监视特定分支,这与 GitFlow 的发布工作流程不能很好地配合。

您需要做我现在正在做的同样的事情 - 根据您所依赖的技术(例如 Azure DevOps),决定哪些标准、流程和工作流程最适合您的团队。要使用 GitFlow,您可能必须为您的团队创建一些时髦的标准。例如,您可以创建一个所有功能都从中分支的暂存分支。然后,您可以根据需要通过拉取请求从暂存合并到开发。然而,在某种程度上,我认为您会发现,为了让 GitFlow 与 Azure DevOps 中的额外功能配合使用,您必须做的事情会比仅仅创建自己的标准和流程带来更多的麻烦和技术债务。