Hua*_*afu 32 git github git-push
我在GitHub公司帐户上有一些Git私有存储库,我不希望任何人推动某些特定的分支(如master,develop和beta或模式).我也试图定义一些钩子,但我希望这可以在GitHub上完成,而不是在客户端上使用预推钩.
所以简单地解释我的问题,我想:
git push origin develop
Run Code Online (Sandbox Code Playgroud)
由于分支名称被服务器(GitHub)拒绝,但我不希望通过pre-push hook检查客户端,我真的希望GitHub进行检查并拒绝它.
此外,如果只允许某些用户这样做,但是一开始就为每个人禁用它就足够了.
Hua*_*afu 26
好的,经过长时间的聊天,我得到了IRC的回答.因为GitHub不允许每个分支权限都不预先发布取消挂钩,所以我必须使用forks和pull请求,或者在每个dev的机器上添加预推钩.以下是我得到的答案的一部分:
分叉存储库.然后开发人员可以使用他们自己的存储库版本,而不必担心提交到错误的分支.然后上游的某个人总是可以合并到应该提交的任何分支中.
是的,但我们是一家公司,我们不希望我们所有的开发人员都有叉子
为什么不?
那么他们应该能够将他们的分支推到一个共同的仓库上,以便与其他开发人员在同一个功能上工作.
请阅读https://help.github.com/articles/using-pull-requests.您仍然可以在多个叉子之间发送补丁.这是git构建的模型
我知道,但我希望能够以中心的方式快速查看任何功能/修补程序的实际工作,...
简而言之:GitHub不支持每个分支的权限
我知道这篇文章很老了,但我相信对于那些正在寻找答案的人来说,它可能仍然有用.
好吧,现在可以在GitHub上使用.
最近GitHub引入了受保护的分支功能,这使得它成为可能:
受保护的分支在存储库管理员选择保护的分支上阻止Git的几个功能.受保护的分支:
- 不能用力推
- 无法删除
- 在所需的状态检查通过之前,无法将更改合并到其中
- 在批准所需的审核之前,不能将更改合并到其中
- 无法编辑或从Web上传文件
祝好运.