【问题标题】:Enforce only pull request on visual studio team services仅对 Visual Studio 团队服务执行拉取请求
【发布时间】:2015-09-05 08:19:40
【问题描述】:

我可以通过任何方式强制某些人只能通过拉取请求通过一个分支做出贡献我希望他们能够接受拉取请求但不能直接推送更改。

这会很有用,因为我们有一些分支策略可以让某人接受拉取请求,例如构建必须通过。问题是如果我们允许某人接受拉取请求,我们将允许他们直接推送到分支。有任何方法可以授予分支仅通过拉取请求接收更改的权限,或者至少授予某人仅接受拉取请求但不直接推送到分支的权限。

我需要在 Visual Studio Online 上执行此操作。

我需要的是取消某人在没有拉取请求的情况下将提交直接推送到分支的权限。

【问题讨论】:

    标签: git tfs azure-devops


    【解决方案1】:

    自从提出这个问题后,用户界面发生了变化,该功能仍然存在:

    是的,这可以通过设置 Git 分支策略在 Visual Studio Online 的最新版本中实现:

    分支机构政策

    为了帮助使用 Git 的团队提高进入其存储库的代码质量,我们添加了一项新功能来设置分支策略。这些新策略使团队能够为其开发分支配置需求,这些需求在推送或合并拉取请求时由服务器强制执行。通过使用构建策略要求进入分支的所有更改都通过配置的构建,可以防止构建中断。

    代码审查政策可用于为拉取请求设置最低审查人数,甚至要求特定用户审查对代码库特定部分所做的更改。

    https://www.visualstudio.com/en-us/news/2015-may-15-vso

    【讨论】:

    • 这实际上并没有解决这个问题,这个人仍然能够直接合并到分支并将提交直接推送到它而不使用拉取请求。
    • 如果您勾选“使用拉取请求进行代码审查”,则不允许直接提交。可能是允许项目管理员(默认情况下具有强制推送权限)绕过此策略,我没有检查。通过将最少审阅者设置为 1 并允许一个人接受他们自己的请求,您实际上是在强制构建成功并允许一个人向他们提交他们自己的 PR。
    • 非常感谢 jesse 刚刚测试并完美运行
    • 如果你迷失在visualstudio不友好的界面中(像我一样),这个链接可能会有所帮助:techtwaddle.net/tag/vsovisual-studio-onlinebranch-policy
    • 我在线使用 TFS 我有分支策略选项,但没有使用拉取请求进行代码审查的选项,有什么想法吗?
    【解决方案2】:

    有两点必须设置:

    1. 在要保护的分支上设置策略,最简单的方法是设置“要求最少数量的审阅者”。见Microsoft Git Branch Policies

    2. 确保将贡献者设置为不受政策强制执行 - Example

    【讨论】:

    • “确保贡献者被设置为不受策略执行的豁免” - 这行非常重要,因为如果没有此权限被拒绝,所有策略都不会做任何事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    相关资源
    最近更新 更多