我可以在GitHub上只指定一个特定的分支(只读)吗?

znq*_*znq 10 git github

有没有办法将GitHub上的特定分支设置为只读(只读),还是只能为整个存储库设置?

Von*_*onC 14

从2015年9月开始,你真的可以(有点).

那是因为您现在拥有" 受保护的分支机构和必需的状态检查 "(2015年9月3日),它允许您保护分支:

  • 反对被迫推
  • 反对删除
  • 反对合并的更改,直到所需的状态检查通过

正如twitter讨论中所提到:

@github很好,如何防止只是推送并且只允许通过拉取请求进行操作?

Adam Roben @aroben @ lowl4tency 您可以通过Status API执行此操作:仅在PR中的提交中
创建" success"状态,然后根据需要标记该状态
.

https://cloud.githubusercontent.com/assets/25792/9596474/27db3ce6-502a-11e5-9b19-5b47a8addc65.png


自2015年11月起,您可以使用API​​保护分支机构:

curl "https://api.github.com/repos/github/hubot/branches/master" \
  -XPATCH \
  -H 'Authorization: token TOKEN'
  -H "Accept: application/vnd.github.loki-preview" \
  -d '{
    "protection": {
      "enabled": true,
      "required_status_checks": {
        "enforcement_level": "everyone",
        "contexts": [
          "required-status"
        ]
      }
    }
  }'
Run Code Online (Sandbox Code Playgroud)

我怎么试试呢?

要在预览期间访问此功能,您需要在Accept标头中提供以下自定义媒体类型:

application/vnd.github.loki-preview+json
Run Code Online (Sandbox Code Playgroud)

自2016年3月起,组织现在可以指定哪些成员和团队能够推送到受保护的分支机构.

https://cloud.githubusercontent.com/assets/4719/14140705/ed98abac-f67a-11e5-951e-b48c842fb77f.png


bry*_*mcd 6

没有办法在Github上做分支级别的权限,但是gitolite项目支持你正在寻找的东西.