【问题标题】:How to disable pull requests in GitHub?如何在 GitHub 中禁用拉取请求?
【发布时间】:2015-01-15 05:46:08
【问题描述】:

我正在尝试了解如何在 github 中禁用“拉取请求”。

问题 1: 我们正在尝试使用变基工作流程,这意味着如果这不是快速推进,那么使用拉取请求可能是有害的。 一种解决方案:为我要禁用拉取请求的分支设置分支权限。或者将我添加为任何进入 master 的审阅者。

问题 2: 所以这就引出了一个问题,我可以在 github 中设置分支权限吗?对于任何想要进入 master 的更改,我可以将自己添加为审阅者吗?

问题 3: Github 已经明确删除了 pre-receive 钩子,那么在源访问服务器之前我该如何执行任何强制措施?可以完成预提交挂钩,但同时可能会很痛苦。

我在这里问过类似的问题:Commit message hook on github

似乎 github 可能对合并工作流程甚至 git-flow 有用,但对于 rebase 工作流程可能很难维护,这是一个公平的假设吗?

我可以将 atlassian Stash 视为变基工作流程的更好工具吗?

【问题讨论】:

标签: git github


【解决方案1】:

根据 GitHub 支持是不可能的

我在 2018 年 2 月询问了 support@github.com 是否可以删除 Pull Requests 选项卡,@nickcannariato 的回复是:

感谢您的来信!在过去的几年里,我们肯定听到一些用户要求使用此功能,并且它目前在我们的功能请求列表中。我无法就将来是否或何时添加此功能做出任何承诺,但我会将您的 +1 添加到该功能请求中,以便团队可以看到它。

确认这是不可能的。

对事实上的跟踪器的请求:

【讨论】:

    【解决方案2】:

    如何在 GitHub 中禁用拉取请求?

    自 2021 年 11 月起,现在可以做到这一点:

    Allow bypassing required pull requests

    这是一种很好的做法,但您可能希望针对特定人员和团队将此规则设为例外。
    例如,如果您有一个调用 GitHub API 以在存储库中进行更改的自动化流程,您可能希望允许该自动化在不创建拉取请求的情况下进行更改。

    现在,当您需要拉取请求及其对分支的相关保护时,您可以指定不受这些要求影响的人员和团队。

    如下图所示,选择允许特定参与者绕过拉取请求要求。然后,搜索并选择应允许绕过要求的人员和团队。

    有关更多信息,请访问管理分支保护规则。


    在 2021 年之前,这是不可能的:


    Armin Sebastian 建议在GitHub issue 1191

    我制作了一个新应用,它可以立即关闭并锁定新的和现有的问题或拉取请求,并且还支持发表评论和标记。
    它非常适合分叉和镜像,您可以根据自己的喜好进行配置

    dessant/repo-lockdown,包括.github/lockdown.yml

    # Lock issues and pull requests
    lock: true
    
    # Limit to only `issues` or `pulls`
    # only: pull
    

    其他解决方法:

    请注意(考虑到 2015 年 1 月的 OP 日期):

    自 2016 年 10 月起,您可以dismiss a review

    但是,此要求有时会在没有充分理由的情况下阻碍您团队的进展。
    如果有人留下要求更改的评论然后去度假或遇到计算机问题,即使您已经解决了评论者的问题,您的拉取请求也可能会被阻止数天。

    这将取消阻止您的拉取请求,让您可以合并它!

    【讨论】:

    • 感谢@VonC,我们已经实现了所有这些更改。现在唯一剩下的是 Single Single On 或 LDAP :)
    【解决方案3】:

    我制作了一个工具,可以在拉取请求打开时自动关闭它们。

    https://nopullrequests.appspot.com

    编辑:该工具不再处于活动状态。

    【讨论】:

    【解决方案4】:

    您无法使用 Github 设置分支权限。但是,如果您是唯一拥有推送权限的人,则不必禁止创建拉取请求:您可以手动变基并推送它们。

    我适合您需要的工具是Gerrit。它是一个开源软件,其行为类似于 Git 的一种包装器。它主要是一个代码审查软件。但它也允许您定义每个分支的权限。

    但是,与 Github 不同的是,您可能必须自己托管它。

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 1970-01-01
      • 2013-01-18
      • 2018-02-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多