git防止推到主

这是我第一次build立一个git服务器,所以我不知道我在做什么。 无论如何,我有一个用户的Git服务器设置,我想要的是有多个开发人员可以创build自己的分支机构,推动分支来源,但我不希望他们推动任何东西掌握; pipe理员会在代码审查后合并。 那可能吗?

Gitolite可以为你做这个。 您无法使用默认的git设置进行设置。

如果你不想使用Gitolite,把它添加到你的update钩子:

 [ "$1" != refs/heads/master ] || { echo "ERROR: you are not allowed to update master" >&2 exit 1 } 

扩展理查德的答案:使用下面的代码片段作为你的“钩子/更新”,推到主人将只被允许用户名为“git-repo-admin”:

 #!/bin/sh if [ $USER != "git-repo-admin" ]; then if [ "$1" == refs/heads/master ]; then echo "Manual pushing to this repo is restricted" exit 1 fi fi