如何锁定git回购主分支?

如何锁定git回购主分支?,git,hook,pre-commit-hook,Git,Hook,Pre Commit Hook,我需要锁定git回购的主分支。我尝试了预提交钩子,但它们只是客户端钩子,但我想锁定大多数用户的主分支。有谁能告诉我git上预接收钩子的步骤(我使用github)或者更好的锁定master的方法吗 PS:gitolite在我们的github许可版本上不受支持。许可的github意味着“”,这也意味着,正如文章“”中所解释的:不允许使用自定义挂钩。 (另见“) 因此,我将采用不同的方法,在该服务器上维护两个repo(第二个是第一个的克隆),而不是一个repo 每个人都可以推送到第一个,但只有选定的用

我需要锁定git回购的主分支。我尝试了预提交钩子,但它们只是客户端钩子,但我想锁定大多数用户的主分支。有谁能告诉我git上预接收钩子的步骤(我使用github)或者更好的锁定master的方法吗

PS:gitolite在我们的github许可版本上不受支持。

许可的github意味着“”,这也意味着,正如文章“”中所解释的:不允许使用自定义挂钩。
(另见“)

因此,我将采用不同的方法,在该服务器上维护两个repo(第二个是第一个的克隆),而不是一个repo

每个人都可以推送到第一个,但只有选定的用户可以推送到第二个,这允许他/她从第一个回购协议中选择有资格推送到第二个回购协议的内容。
因此,“
repo2
”在某种程度上代表您的“
master
”,而“
repo1
”代表所有其他用户都可以推送到的任何其他分支。
这有点像

我建议将发布工程团队分离到他们自己的组织中
开发人员必须为发布工程团队中的所有存储库提供分支。
开发人员将能够在其组织内致力于
master

他们必须发送请求才能将其提交到
release\u engineering
组织中

注意:要让客户相信,向
acme\u developers/foobar
master
分支提交文件与向
acme\u release\u engineering/fooba
master
分支提交文件是不同的,这需要一些时间


简单的解决方案可能是在gitolite或其他一些支持分支锁定的系统上克隆并托管存储库,如果您想保持这一点,那么可以设置一个post-commit钩子来镜像到当前的github存储库。我们目前正在使用github克隆来实现这一点。

可能重复的,因为master也是一个分支,这似乎是另一个分支的重复。@Michaeldurrent提供的解决方案对我无效,因为:github版本不支持gitolite。预提交钩子是一个客户端钩子(不能要求每个用户都添加这个钩子)。而我正在寻找一个服务器端钩子。谢谢你,进一步与专家交谈也建议了同样的简单解决方案。