我如何在AzureDevOps回购协议中实现/设置GitFlow,并在master和develop上采用PR分行政策?

我如何在AzureDevOps回购协议中实现/设置GitFlow,并在master和develop上采用PR分行政策?,git,azure-devops,pull-request,git-flow,Git,Azure Devops,Pull Request,Git Flow,当我在主分支和开发分支上有请求分支策略时,如何在Azure Repos上实现Git流?我很想让它工作,但我不知道最好的做法。我目前在Azure Git repo上安装了gitflow,但在master上有PR分支策略。如果由于没有创建PR,推送到主机将失败,我如何完成发布或热修复分支。类似地,如果我在AzureDevOps回购中为我的开发分支制定了公关分支政策,我无法使用“git flow feature…finish”来“完成”我的功能,因为推动开发分支的工作将失败 我在开发(用于完成功能)和

当我在主分支和开发分支上有请求分支策略时,如何在Azure Repos上实现Git流?我很想让它工作,但我不知道最好的做法。我目前在Azure Git repo上安装了gitflow,但在master上有PR分支策略。如果由于没有创建PR,推送到主机将失败,我如何完成发布或热修复分支。类似地,如果我在AzureDevOps回购中为我的开发分支制定了公关分支政策,我无法使用“git flow feature…finish”来“完成”我的功能,因为推动开发分支的工作将失败

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

我试图查阅AzureDevOps的分支策略指南,但它没有提到GitFlow

该指南更直接地针对从“主”创建新功能的功能分支,并与PR合并,然后针对发行版,它建议您从“主”创建从未合并回的发行版和修补程序分支

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

实际:
完成一个特征。发布或修补程序在尝试合并到任何具有PR分支机构策略的分支机构(主分支机构,开发分支机构)时失败。

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


您将需要做与我现在所做的相同的事情—考虑到您所依赖的技术(例如Azure DevOps),确定哪些标准、流程和工作流最适合您的团队。要使用GitFlow,您可能需要为您的团队创建一些时髦的标准。例如,您可以创建一个所有功能都从中分支的临时分支。然后,您可以根据需要使用拉式请求从暂存合并到开发。然而,在某一点上,我认为您会发现,与创建自己的标准和流程相比,在Azure DevOps中使GitFlow与附加功能协同工作所必须做的事情将导致更多的麻烦和技术债务。

GitFlow finish功能将功能分支合并到开发分支中。因此,我们不使用gitflow finish特性,而是创建一个pull请求来将更改导入develope

完成发行版或修补程序可能会有点棘手。为此,我们创建了一个步骤作为自动发布定义(在Azure devops中)的一部分,该步骤将发布分支合并到master中并自动开发。运行此作业的用户(可能是某个生成/发布代理用户)来自分支策略。在某些情况下,仍然需要一些手动干预。i、 e当提交到发布分支与提交到开发分支冲突时