这是我第一次设置 git 服务器,所以我还不太清楚自己在做什么。无论如何,我有一个为用户设置的 git 服务器,我希望有多个开发人员可以创建自己的分支并将分支推送到原点,但我不希望他们将任何内容推送到主分支;管理员将在代码审查后进行合并。这可能吗?
答案1
吉托莱特可以为您完成此操作。您无法使用默认的 git 设置进行此设置。
答案2
如果您不想使用 Gitolite,请将其添加到您的update
钩子中:
[ "$1" != refs/heads/master ] || {
echo "ERROR: you are not allowed to update master" >&2
exit 1
}
答案3
稍微扩展一下 Richard 的答案:使用以下代码片段作为“hooks/update”,并且只允许名为“git-repo-admin”的用户推送到 master:
#!/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