I have four branches in my git repository, which is managed using GitHub:
You might want to check out GitLab and its "protected branch" feature. I think it's pretty much exactly what you are looking for. See Keeping your code protected.