如何设置服务器端 Git Hook 以向某些用户名授予主分支中的权限?

如何设置服务器端 Git Hook 以向某些用户名授予主分支中的权限?

我有一个 git 服务器。不是 gitlab 或类似的东西,而是裸 git 服务器。我想创建 git hook 来拒绝某些用户在主分支上的推送。我尝试使用下面的方法来实现这一点。

#!/bin/bash
if [ "$1" == refs/heads/master ];
then
    CEMAIL=$(git log -1 --format=format:%ce HEAD)

    echo $CEMAIL

    if [ "$CEMAIL" != [email protected] ] && [ "$CEMAIL" != [email protected] ];
    then
        echo "-----------------------------------------------------"
        echo "WARNING: You are not allowed to Push in MASTER branch !"
        echo "-----------------------------------------------------"
        exit 1
    fi
fi

没有上述电子邮件的用户将无法在主分支上推送。但它并没有按预期工作。你们能指导我吗?

更新:当我 ([电子邮件保护])它将允许我推送到分支。然后,如果我要求除我和杰克之外的其他人推送到分支,它也会允许。它选择最后一个用户的电子邮件。

相关内容