首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在git中禁止远程推送到master分支

在git中禁止远程推送到master分支
EN

Stack Overflow用户
提问于 2010-01-12 06:11:07
回答 1查看 7.1K关注 0票数 19

有没有办法修改中央存储库的配置,以禁止任何远程推送到主分支(使用git)?它只会通过分支合并由发布所有者进行更新。

在子存储库中可以做到这一点,但不幸的是,它并不总是足够可靠,很容易忘记在新机器上做到这一点--没有办法防止意外推送。开发人员应该能够从任何分支拉回并推送回任何分支,除了master,我们希望看到它是只读的。是否可以使用git?或者我们尝试了错误的工作流程。

更新tl;dr:感谢Charles Bailey,答案是查看master并添加以下配置:

代码语言:javascript
复制
receive.denyCurrentBranch = true
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-12 07:07:34

您应该看看git发行版的contrib目录中名为update-paranoid的示例update钩子。它允许您设置每个分支机构的ACL,以限制允许谁推送到哪些分支机构。通过这种方式,您可以将master更新限制为仅发布所有者。

我不太确定你所说的“仅通过分支合并更新”是什么意思。我假设您的中央存储库是空的,在这种情况下,分支通常只通过推送更新。在git中,推送合并提交和非合并提交在概念上没有区别,所以我不确定限制master更新类型的标准是什么。

如果您正在推送到一个非裸的中央存储库,并且master始终是已签出分支,那么您只需将配置变量receive.denyCurrentBranch设置为truerefuse即可。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2045329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档