gpt4 book ai didi

git - git禁止远程推送到master分支

转载 作者:IT王子 更新时间:2023-10-29 01:23:14 31 4
gpt4 key购买 nike

有什么方法可以修改中央存储库的配置以禁止任何远程推送到 master 分支(使用 git)?它只会由发布所有者通过分支 merge 进行更新。

可以在子存储库中执行,但不幸的是它并不总是万无一失,很容易忘记在新机器上执行此操作 - 无法防止意外推送。开发人员应该能够从任何分支 pull 并推回到任何分支,除了 master,我们希望将其视为只读。 git 可以吗?或者我们正在尝试错误的工作流程。

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

receive.denyCurrentBranch = true

最佳答案

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

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

如果您要推送到非裸中央存储库并且 master 始终是 check out 分支,那么您只需设置配置变量 receive.denyCurrentBranchtruerefuse

关于git - git禁止远程推送到master分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2045329/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com