I am looking for a feature that I'm familiar with using Atlassian Bitbucket, and I've also set it up using GitHub before. The idea being that you can protect specific branches, primarily Master, but also sometimes Dev, or Release branches with requiring a Pull Request to put something into that branch.
This means that in order to get something into these branches, the Pull Request form must be used and thus a second developer must review the code. there is no pushing directly to these branches.
My team has played with write access to admins to turn off rewind, but it then requires you to be an admin on the repository to merge a PR. We would like all developers to be able to get code into Master, but with a code review through the PR process, so a permission to lock down a branch to only be allowed to be checked in via PR.
Thanks.