来自特定分支的 TFS 条件拉取请求

TFS Condition pull request from specific branch

有什么方法可以将拉取请求设置为来自 Team Foundation Server 2017 上的特定分支? 我们正在实施 gitflow,我们希望强制执行对 master 的拉取请求始终来自开发或修补程序分支。

您可以访问名为 Branch Policies 的功能来强制执行来自特定分支的拉取请求。

设置分支策略后,您无法直接将更改推送到分支。对分支的更改只能通过拉取请求进行。

在您的场景中,您只需要 Configure branch policies 用于 develophotfix 分支。

我不确定是否可以使用 TFS/VSTS 的开箱即用功能对其进行配置。默认分支策略(如 中提到的@Andy)可以帮助您保护目标分支 - 那些拉取请求地址为 To 分支,但 From(源)分支可以是任何, 并且没有强制执行。

如果您准备编写一些代码来支持这种情况,这里是建议的方法:

将 TFS/VSTS 配置为 run Azure Functions as a branching policy。您的功能可以像检查源分支一样简单,并将拉取请求状态设置为 Failure 以防分支不在预期源分支列表中。否则,将 PR 状态设置为 Success.

更有用link:Configure a branch policy for an external service。您可以将其配置为必需的策略,这样在满足之前将无法完成PR。