Post-Commit Reviews
medium.com
medium.com
It is perfectly possible, and can be automated to commit code to a branch for code review then only once it is approved can it be merged onto master.
We do that using Gerrit:
Dev. work on something on their own branch. Once ready they push to Gerrit for code review, a branch is automatically created off master.
Once it is approved, gerrit will merge that temporary branch to master.
This ensures that only approved code ends up on the master branch as arguably it should be.