Can I specify a specific branch on GitHub pull-only (read-only)?

前端 未结 3 557
野趣味
野趣味 2020-12-17 19:48

Is there a way to set a specific branch on GitHub to pull-only (read-only) or can I only set this for the whole repository?

相关标签:
3条回答
  • 2020-12-17 20:23

    There is no way to do branch level permissions on Github, but the gitolite project supports what you're looking for.

    0 讨论(0)
  • 2020-12-17 20:29

    Starting from March 30th 2016, GitHub does support branch permissions without any further tricks like required status checks: https://github.com/blog/2137-protected-branches-improvements

    0 讨论(0)
  • 2020-12-17 20:42

    You actually can (sort of), since September 2015.

    That is because you now have "Protected branches and required status checks" (September 3, 2015), which allows you to protect a branch:

    • against forced pushed
    • against deletion
    • against merged changes until required status checks pass

    As mentioned in the twitter discussion:

    @github nice, what about protect from just push and allow only operating through pull requests?

    Adam Roben ‏@aroben @lowl4tency You can do this via the Status API:
    create a "success" status only on commits in PRs, then mark that status as required
    .


    Since Nov. 2015, you can protect a branch with the 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"
            ]
          }
        }
      }'
    

    How can I try it?

    To access this functionality during the preview period, you’ll need to provide the following custom media type in the Accept header:

    application/vnd.github.loki-preview+json
    

    Since March 2016, Organizations can now specify which members and teams are able to push to a protected branch.

    0 讨论(0)
提交回复
热议问题