开发者

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

Is there a way 开发者_如何学JAVAto set a specific branch on GitHub to pull-only (read-only) or can I only set this for the whole repository?


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
.

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


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.

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


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


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


This request can now be done with the option Lock branch.

Reference: New Branch Protections: Last Pusher and Locked Branch

Lock branch

This allows for branches to be locked, prohibiting changes. You can lock a branch allowing you to have a maintenance window and prevent changes, or to protect a fork so it only receives changes from its upstream repository.

To use this feature in a branch protection rule, enable Lock branch.

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


Go to the Settings, Add the branch as a protected branch and then there is an option as : Lock Branch (Branch is read-only. Users cannot push to the branch.)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜