github - 启用分支锁定

时间:2015-03-30 00:50:32

标签: github github-api

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

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

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是将该分支放在自己的repo中(没有协作者)。

否则,GitHub不提供任何本地"分支保护"功能,如" How to protect “master” in github?"

中所述

可以设置a webhook如果分支具有给定名称,则push event上的terite/pull-to-master可以拒绝推送。

一个示例{{3}}可以保护master

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

这不是客户端挂钩,但它确实需要客户端监听推送事件的JSON有效负载才能对其做出反应。

答案 1 :(得分:0)

@Saurabh I have done the similar thing according to your requirement on **GITHUB**. 
Explaning below

-> Navigate to settings
-> Navigate to Branches
-> Tap on Add Rule
-> Under rule setting. Tick the **Require Pull request review before merging** 

What the above steps does that it applied the lock on say **Master** branch so that no collaborators can push the code on master, the code only merged using pull request. 

Attaching the screnshot below. 

enter image description here

enter image description here

enter image description here