I have four branches in my git repository, which is managed using GitHub:
If you use bitbucket - there are branch-permissions for handling that. https://confluence.atlassian.com/bitbucket/branch-permissions-385912271.html