【问题标题】:github - enable branch lockgithub - 启用分支锁
【发布时间】:2020-08-17 17:29:16
【问题描述】:

作为 GitHub 管理员,我想为所有用户锁定 GitHub 中的特定分支。 例如如果我不想让任何人推送到 Master/Production 或 Project 分支,我该怎么做。

有没有办法直接锁定 GitHub 服务器上的分支,而不是使用任何客户端挂钩?是否有任何第三方工具/api/脚本可以帮助实现这一目标?

【问题讨论】:

  • 自 2015 年 9 月起,您现在可以直接在 Github 中保护分支:github.com/blog/…

标签: github github-api


【解决方案1】:

@Saurabh,我根据你在 GitHub 上的要求做了类似的事情:

  • 导航到设置
  • 导航到分支机构
  • 点击“分支保护规则”附近的添加规则
  • 勾选在合并前需要对拉取请求进行审核复选框

这些步骤应用锁定,例如锁定master,因此没有协作者可以将代码推送到此分支。代码只能使用拉取请求合并。

Link to documentation

截图:

注意:Pro、Team 和 Enterprise 用户可以使用受保护的分支

【讨论】:

    【解决方案2】:

    最简单的解决方案是将该分支放在自己的仓库中(没有声明任何合作者)。

    否则,GitHub 不提供任何原生的“分支保护”功能,如“How to protect “master” in github?”中所述

    可以设置a webhook,如果分支具有给定名称,push event 可以拒绝推送。

    一个例子是terite/pull-to-master,它保护master

    if (json.ref != 'refs/heads/master')
      return cb([200, 'Skipping, not master']);
    

    这不是客户端钩子,但它确实需要客户端侦听推送事件的 JSON 负载以便对其做出反应。

    【讨论】:

      猜你喜欢
      • 2022-10-21
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多