我只想将特定分支合并到特定分支。
一些例子:我想做
master
分支只接受来自test
分支的拉取请求,而test
分支只接受来自development
分支的请求。
如何在 TFS/Git 上做这个限制?
我们有一些关于审阅者和构建验证的政策。
如果您有分支机构政策,您可以采取变通办法来实现目标:
在构建定义中(您在构建验证中指定的)添加一个 PowerShell 任务来检查拉取请求的源分支。当源分支不是您想要的时,构建将失败。
例如在下面的脚本中,如果源分支不是
test
,构建将失败,所以在master
分支构建验证中添加:
$sourceBranch = "$(System.PullRequest.SourceBranch)"
if($sourceBranch -ne "test")
{
exit 1
}
我通过第 3 方网络挂钩集成解决了我的问题。
我开发了 nodejs expressapp 并将其托管在不同的服务器上,我创建了在创建拉取请求时触发的集成规则。我检查我的节点应用程序中的源和目标分支。
之后我将此集成添加到合并策略中。
太酷了,太简单了。谢谢大家。
这是一个管道,您可以在构建验证中使用它来完成此操作: https://gist.github.com/robertbrandso/0b33a6caaafca17709b6f075ed237047