То, что вы просите, очень просто достичь, но это зависит от вашей работы.
Если вы используете git server, вы можете "защитить" нужную ветвь от объединения.
Защита веток под github

Защита веток Sunder Bitbucket
Здесь вам нужно будет выбрать запретить все изменения и себя как разрешенного пользователя

Git hooks
Вы можете добиться этого, просто ловушка предварительного получения снова зависит от вашего сервера git
Например:
#!/bin/sh
# Extract the desired information from the log message
# You can also use the information passed out by the central repo if its available
# %ae = Extract the user email from the last commit (author email)
USER_EMAIL=$(git log -1 --format=format:%ae HEAD)
# %an = Extract the username from the last commit (author name)
USER_NAME=$(git log -1 --format=format:%an HEAD)
# or use those values if you have them:
# $USER, $GIT_AUTHOR_NAME, $GIT_AUTHOR_EMAIL
if [ "$1" != refs/heads/master ] && [ CHECK_FOR_USER_NAME_OR_EMAIL ] {
echo "ERROR: you are not allowed to update master" >&2
exit 1
}