How I learned to stop worrying and push to master
Allowing direct push to master is fine so long as you 1) have a small team so it&#x27;s not very congested 2) have a short enough build&#x2F;test cycle that you can enforce running tests locally.<p>As soon as your test suite grows to the point that users aren&#x27;t likely to run ALL tests before pushing new changes, you can&#x27;t.<p>Also, if you want to have code reviews at all, you want them pre-merge. If you have irreversible changes (For example: you have code that writes a serialized format and once you review the code that changes it, people have already used the code, even if only in testing&#x2F;staging -  but you now have data serialized in the bad wire format that you may need to be able to correct, and the correction code after review will need to be maintained forever unless you accept the loss of the data).<p>I think: commit directly to master to scaffold and iterate quickly on a greenfield project with 1-3 devs. Then start doing feature branches and PR&#x27;s to master.