We've got 20 or so devs and some infrequent contributors commiting to a pair of mono-repos, with some extra steps between them.
Our process looks like this:
- develop on a feature branch
- get two or more reviewers, sometimes devs that you've been talking with about the design, but if you don't know who we have a list of devs for different product areas.
- only our newest stuff has auto-linting, otherwise style and static code analysis is all manual, but we're trying to automate as we go
- need at least one approval to merge, not by any got rules, just by convention
All the code reviews are asynchronous, we're a distributed team so we don't like sit down in a room to talk about it, just comments on the PR.
Sometimes however you find a fix so small, you just commit and push to master. I'm not really in favor of that, but it happens.