1. push commits to a branch & open a pull request
2. get a bunch of comments
3. push a few more commits fixing some errors
4. more comments
5. more fixes
At every step of this process you either have to review each individual commit or the entire diff. You can't see only what's changed between two arbitrary commits. I endure this process so often (and it makes me pine for review board) that I wrote a greasemonkey script to view intermediate diffs: https://github.com/sbuss/pull_request_intermediate_diffs
Github, apparently, isn't interested in fixing this (https://github.com/blog/1124-how-we-use-pull-requests-to-bui...)