Cómo bloquear push to master branch en control remoto

¿Hay alguna forma de bloquear el código directamente al maestro? Intenté agregar un script en.git/hooks/update:

#!/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

Pero esto no funciona, todos pueden empujar. Quiero permitir que solo usuarios específicos presionen para dominar y bloquear a otros.

Respuestas a la pregunta(3)

Su respuesta a la pregunta