git 阻止推送到 master

git 阻止推送到 master

这是我第一次设置 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

相关内容