我有一个 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
没有上述电子邮件的用户将无法在主分支上推送。但它并没有按预期工作。你们能指导我吗?
更新:当我 ([电子邮件保护])它将允许我推送到分支。然后,如果我要求除我和杰克之外的其他人推送到分支,它也会允许。它选择最后一个用户的电子邮件。