如何编写Git钩子限制对分支的写入?
我想限制只有几个开发者可以对主分支进行写入操作,而其他人可以拉取所有内容并推送到其他非主分支。我的想法是,开发者可以先推送到其他分支,如果代码通过审核,审核者再将它合并到主分支。
我觉得这可以通过一个 git 提交钩子轻松实现,但我不懂 Python,而且这个问题看起来很常见,应该有人已经写过相关的脚本。你知道我可以在哪里找到这样的脚本吗?或者如果你有现成的,可以分享一下,像我这样懒的人会很感激。
2 个回答
3
针对你的需求:"如果代码通过审核,审核者会把它合并到主分支中."
你可以试试Gerrit代码审核工具:http://code.google.com/p/gerrit/
4
我觉得可以用这样的脚本,但这并不是管理权限的合适地方,权限管理应该在git服务器上进行。比如在gitosis中,你可以在gitosis-admin这个仓库里的gitosis.conf文件中进行配置。
通过钩子来管理安全性是很容易被破解的,只有服务器才能真正跟踪这些事情。请查看你服务器的文档,了解如何限制访问。