Swi*_*ift 39 git github git-push
我正在试图找出一种防止开发人员用Git推动大师的好方法.我们使用GitHub来托管我们的远程存储库,因此pre-receive钩子不是一个选项.是否可以为开发人员团队轻松实施任何其他解决方案?
作为旁注,我一般不想禁用推力.有时它是必要的邪恶.但是说,推动大师的力量不可能发生.
man*_*lds 52
Github后来引入了受保护分支的概念.它可以在Settings- > Branches- > 下找到Protected Branches
可以为任何分支以及任何用户(包括管理员)启用此"保护".
更多细节 - https://help.github.com/articles/defining-the-mergeability-of-pull-requests/
你无法在Github中阻止这种情况.
你可以做的是在你身边有一个中间回购,运行一个预接收挂钩,以防止强制推送和从这个中间仓库推送到github并阻止访问直接推送到github.是的,这并不优雅,你失去了很多Github的功能,但我没有看到任何其他方式.
编辑:刚刚看到这个答案,它说同样的并给出了另一种解决方法:GitHub - 防止协作者使用push -f
我不是github专家,但我相信如果您使用github 组织,您可以这样做.
您需要为不允许掌握的开发人员创建一个组织"Pull Only"团队.他们不会在主要仓库上工作,而是将主仓库分叉,并将其本地仓库设置为与其仓库同步.无论何时他们想将代码推送到主仓库,他们都必须将代码推送到他们的分支并提交Pull Request.
这是您为开发人员创建另一个组织"推拉"团队的地方,可以审查和批准拉取请求,并将它们合并到您的主仓库中.
基本上每个开发人员都只是推动他们自己的分支,没有人可以直接推送到主要的仓库(除了具有推/拉访问权限的团队).为了在主回购上发生推动,它必须始终通过fork repo的pull请求.
[更新] Github 现在专门为此目的提供了“受保护的分支”功能。
Easy-peasy:获取 Github“企业”安装,然后按照以下说明操作:https ://help.github.com/enterprise/2.1/admin/articles/blocking-force-pushes-to-a-repository/
免责声明:这是一个开玩笑的答案。请在https://github.com/contact上留言,也许 Github 人员会听到我们的声音,并为大众启用此选项。
| 归档时间: |
|
| 查看次数: |
25092 次 |
| 最近记录: |