Earlier quoted context omitted.
This is nice, but does not solve the problem of giving a user the power to approve merge requests but not accidentally "git push origin master."
With protected branches you can prevent force pushes to master. You would have to do a manual merge and then git push origin master to cause a problem I think.
A code review tool that's off by default and trivial to bypass in your sleep is a poor code review tool.
This is easy to prevent in Phabricator, which will block pushes to master if they contain changes not also present in an approved unit of code review. I run into that wall a few times a week, and am reminded to move my commits into a branch.