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

时间:2011-09-23 14:08:01

标签: git github

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

3 个答案:

答案 0 :(得分:14)

自2015年9月以来,您实际上可以(某种程度上)。

那是因为你现在有了#34; Protected branches and required status checks" (2015年9月3日),允许您保护分支机构:

  • 反对强行推送
  • 反对删除
  • 针对合并的更改,直到所需的状态检查通过

如上所述in the twitter discussion

  
    

@github很好,那么保护不仅仅是推送而只允许通过拉取请求进行操作?

  
     

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

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

Since Nov. 2015,您可以使用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"
        ]
      }
    }
  }'
  

我该怎么试?

     

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

application/vnd.github.loki-preview+json

Since March 2016组织现在可以指定哪些成员和团队可以推送到受保护的分支

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

答案 1 :(得分:6)

无法在Github上执行分支级别权限,但the gitolite project支持您正在寻找的内容。

答案 2 :(得分:1)

从2016年3月30日开始,GitHub支持分支机构权限,不需要任何其他技巧,例如必需的状态检查:https://github.com/blog/2137-protected-branches-improvements