有没有办法修改中央存储库的配置,以禁止任何远程推送到主分支(使用git)?它只会通过分支合并由发布所有者进行更新。
在子存储库中可以做到这一点,但不幸的是,它并不总是足够可靠,很容易忘记在新机器上做到这一点--没有办法防止意外推送。开发人员应该能够从任何分支拉回并推送回任何分支,除了master
,我们希望看到它是只读的。是否可以使用git
?或者我们尝试了错误的工作流程。
更新tl;dr:感谢Charles Bailey,答案是查看master并添加以下配置:
receive.denyCurrentBranch = true
发布于 2010-01-12 07:07:34
您应该看看git发行版的contrib
目录中名为update-paranoid
的示例update
钩子。它允许您设置每个分支机构的ACL,以限制允许谁推送到哪些分支机构。通过这种方式,您可以将master更新限制为仅发布所有者。
我不太确定你所说的“仅通过分支合并更新”是什么意思。我假设您的中央存储库是空的,在这种情况下,分支通常只通过推送更新。在git中,推送合并提交和非合并提交在概念上没有区别,所以我不确定限制master更新类型的标准是什么。
如果您正在推送到一个非裸的中央存储库,并且master
始终是已签出分支,那么您只需将配置变量receive.denyCurrentBranch
设置为true
或refuse
即可。
https://stackoverflow.com/questions/2045329
复制相似问题