Git VSTS:如何要求分支在从该分支合并(执行拉请求)之前是最新的?

Git VSTS:如何要求分支在从该分支合并(执行拉请求)之前是最新的?,git,github,azure-devops,azure-pipelines,Git,Github,Azure Devops,Azure Pipelines,在中,可以在合并分支之前要求分支是最新的:请参阅 通过启用此选项,还可以要求分支在合并之前是最新的 可以确保根据最新状态运行检查 目标分支 如何在Azure DevOps中实施此功能?如果要确保PR中的生成始终针对最新的目标分支运行,则需要将“生成过期”配置为“更新“分支名称”时立即” 见文件: 更新分支名称时立即执行:此选项设置生成 当受保护的分支被激活时,向的拉取请求中的策略状态失败 更新。重新查询生成以刷新生成状态。这个设置 确保拉取请求中的更改即使在 受保护的分支将更改。此选项最适合具

在中,可以在合并分支之前要求分支是最新的:请参阅

通过启用此选项,还可以要求分支在合并之前是最新的 可以确保根据最新状态运行检查 目标分支


如何在Azure DevOps中实施此功能?

如果要确保PR中的生成始终针对最新的目标分支运行,则需要将“生成过期”配置为“更新“分支名称”时立即”

见文件:

更新分支名称时立即执行:此选项设置生成 当受保护的分支被激活时,向的拉取请求中的策略状态失败 更新。重新查询生成以刷新生成状态。这个设置 确保拉取请求中的更改即使在 受保护的分支将更改。此选项最适合具有以下特性的团队: 变化量较小的重要分支。工作小组 繁忙的开发分支可能会发现等待构建会造成中断 在每次更新受保护的分支时完成

VSTS:如何要求分支在从该分支合并(执行拉请求)之前是最新的

我曾经有过与您相同的请求,但经过一段时间的研究和测试,我发现这是github的一个独特功能。Azure devops没有类似的功能,即要求分支在github中合并之前保持最新

正如您所说,开发人员或请求者可以在完成PR之前解决冲突,但是,审阅者仍然会收到这些冲突的PR。显然,这是对评论者的干扰

我以为我是唯一一个有特殊要求的人。由于我们现在有相同的请求,我在UserVoice网站上添加了此功能请求,该网站是产品建议的主要论坛:


您可以对其进行投票并免费添加您的评论。

我们要解决的问题是,人们在不首先从main进行更新的情况下执行pull请求,从而让main的维护者来执行所有冲突解决。如果开发人员在从其分支向main进行PR之前,被迫从main拉到其分支以确保其分支是最新的,那么他必须自己编辑冲突。i、 e.与任何构建无关。除非有其他规则阻止分支在生成策略状态为false时与main合并,否则这不会阻止从过期分支生成PRs。哦,好吧,我在GitHub中错过了这一点,它要求pr分支从目标(main)进行合并。但是,在Azure DevOps中,如果存在冲突,您无法完成合并,因此pr请求者必须自己解决冲突。pr请求者可以解决冲突,但他不必。他可以让其他任何有权批准公共关系的人来决定。只要存在冲突,公共关系就会一直处于未批准状态。我们希望这样,PR请求者必须始终解决冲突。在GitHub中,也只有“一条消息将显示,表明这些更改需要在合并前向上游合并到pull请求分支中”,PR请求可以“侦听”该消息,也可以不“侦听”该消息,只要存在冲突,PR也可能未经批准而坐在那里。区别是什么?如果在GitHub中启用了严格的分支保护,那么“在合并之前分支必须是最新的”。因此,开发人员必须确保其分支是最新的,因此冲突将首先显示在其分支上。也许没有什么强迫他在对main进行PR之前解决自己分支上的冲突。我还没有检查Github中的消息是什么,但可能是“branch需要更新”,而不是“branch需要更新,这里有一些冲突需要编辑,因为“@Markus,谢谢您的回复。顺便说一句,如果上面的答案对你有帮助,你可以接受它作为答案,这样它可以帮助其他社区成员谁得到同样的问题,我们可以存档这个线程,谢谢。