Effective GitHub Code Review Practices

8420312876_2524de6bc3

For the past two years we've been using combination of self-hosted git repository and ReviewBoard to organize our development process. While we are very happy with our process, it has not evolved even a tiny bit in these two years since we have plenty of other challenges and no time to play with alternative tools such as gitlab. That is why we are increasingly considering moving our development process to GitHub so that somebody else (i.e. GitHub) would take responsibility for managing our development process and environment. We have already moved some repositories to gihub.com/zemanta but we want to use GitHub not just as git repository but to use all its power. And so we've bumped into issue of code reviews. We trust our developers to understand which changes are critical and should therefore be reviewed in advance, while for non-critical changes we are perfectly happy if the code is reviewed only after commit or deploy. GitHub has a bit different approach to code reviews based around pull requests and now we struggle to either adapt GitHub process or our development process in order for the two to work together. Foremost, we would like to keep our post-commit approach to code reviews so that developers don't need to ask for permission, but only for forgiveness. If you have some experience with code review process using GitHub yourself, I'd be happy to discuss it in the comments.