如何在github中保护"master"?

yeg*_*256 47 git acl branch protection github

我的github项目中有一些贡献者.我想只允许其中一个"推"到掌握.而这个人不是我(存储库的所有者).有可能吗?

Seb*_*ebi 34

当时,当发布此问题时,GitHub不允许您在分支级别指定访问权限.您只能在存储库级别执行此操作.所以你要求的是不可能的.

如果你想解决这个限制,我个人会看到两个选择:

  • 你可以使用某种提交钩子等来至少告诉某人发生了错误
  • 如果你真的需要这种严格的控制,你可以使用两个存储库,一个只保存你的"主"分支.然后,您需要确保只有您的"人"才能获得对主存储库的写访问权

我认为用某个组织解决这个问题比较容易.在我的团队中,我们从不直接推送任何东西,而是始终创建拉取请求.这可以确保至少有人在代码合并之前查看,您还可以定义一个策略,只允许您的"人员"合并拉取请求.

更新

GitHub现在宣布他们将推出一项名为protected branches的新功能.多年来,Atlassian Stash等其他git发行版中一直存在此功能.它将允许您保护一些分支免受推动.但是,它仍然不允许对各个分支进行完整的基于ACL的保护.因此,您可能希望检查此功能,以防您不希望依赖上述大纲的组织解决方案.

  • 因为我们同意不这样做.有时,找到软解决方案而不是技术解决方案更容易. (4认同)
  • "我们从不直接推动任何东西" - 因为你不能或因为你同意不这样做? (3认同)

Von*_*onC 9

注意:受保护的分支机构和所需的状态检查(2015年9月3日)将允许您保护分支机构

  • 反对被迫推
  • 反对删除
  • 反对合并的更改,直到所需的状态检查通过

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


自2016年3月,作为评论桑德下面,你有用户和团队限制

有时,合并到受保护的分支最好留给发布经理或负责该特定分支稳定性的人员团队.组织现在可以指定哪些成员和团队能够推送到受保护的分支.

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

  • 可惜,你仍然不能限制对某些成员的分支访问....会喜欢主分支的这个功能. (5认同)
  • 我同意,或者至少能够限制仅为受保护的分支机构合并到管理员. (3认同)