作为GitHub管理员,我想为所有用户锁定GitHub中的特定分支。 对于例如如果我不希望任何人推送到Master / Production或Project分支,我该怎么办呢。
有没有办法直接锁定GitHub服务器上的分支,而不是使用任何客户端钩子?是否有任何第三方工具/ api /脚本可以帮助实现这一目标?
答案 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.