Eu tenho um servidor git. Não gitlab ou algo semelhante, servidor git nua. Eu queria criar um git hook para recusar o envio do branch master para certos usuários. Eu tentei fazer isso com abaixo de um.
#!/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
Os usuários sem o e-mail acima não devem ser capazes de enviar o branch master. Mas não está funcionando como esperado. Vocês podem me orientar sobre isso?
ATUALIZAÇÃO: Quando eu ([email protected]) permitir-me-á empurrar para o ramo. E então, se eu pedir a alguém para empurrar para o ramo que não eu e jake, então isso também permite. Escolhe o email dos últimos utilizadores.