If you have a mature code base, all changes should be reviewed by at least one member of the team. Being consistent with your branching process is important. I favor squash-merging pull requests to keep a clean history of the target branch, it makes it easy to track down bugs.
In my mind, this development process, as tedious as it may be, is worthwhile. In my mind it is the proper way of managing a codebase, I consider it part of the job.
Because when the two lines of code are the wrong thing and nobody notices the problem with them for five weeks, you're going to spend much much more than that overhead tracking it back down and fixing the original issue properly.
If you have a mature code base, all changes should be reviewed by at least one member of the team. Being consistent with your branching process is important. I favor squash-merging pull requests to keep a clean history of the target branch, it makes it easy to track down bugs.
In my mind, this development process, as tedious as it may be, is worthwhile. In my mind it is the proper way of managing a codebase, I consider it part of the job.