2010-11-06 101 views
3

我想限制只有几个开发人员的主分支的写访问,同时允许其他人拉动所有内容并推送到其他非主分支。想法是,开发人员会推送到其他分支,然后如果代码通过审查,审查人员会将其合并到主分支。如何编写一个git钩子来限制写入分支?

我敢肯定,这可以很容易地用git commit hook完成,但我不知道python,这看起来像是一个普通的问题,有人必须已经写好了。你知道我在哪里可以找到这样的剧本吗?或者如果你有一个人躺在这里,请贴在这里,对于像我这样的懒惰的人。

回答

4

我认为可以使用这样的脚本,但它不是权利管理的正确位置,它应该在git服务器端完成。例如,在gitosis中,您可以在gitosis.conf文件中的gitosis-admin存储库中执行此配置。

由钩子管理的安全性很容易被破坏,只有服务器可以跟踪这些事情,请检查服务器的文档以了解如何限制访问的详细信息。

+0

正确。预提交钩子没有任何好处 - 每个开发人员的存储库都是他们自己的。你不能让他们做任何他们不想做的事。但是,中央服务器可以是您的强制执行策略。是的,git服务器管理软件(gitosis,gitolite)可以为你做到这一点。 – Cascabel 2010-11-06 20:28:22

+0

当然,我的意思是在中央存储库服务器上提交挂钩,而不是本地机器。但gitolite似乎是我在寻找,所以谢谢。对于未来的访问者:http://progit.org/book/ch4-8.html – 2010-11-07 11:43:30