I just noticed none of your tests pass a `CommitsListOptions`.. they all pass `nil`.  I'm pretty sure that you will get an error trying to dereference these pointers if they are unset down around line 87, since you're not doing nil checks.

As far as I know, there are no cases in the GitHub API where the zero value is meaningful for these optional parameters.  If there are, then of course we're going to run into the same problem that we have for data structures.  But if not, then we can just leave them as non-pointer values, and let the zero values through.  Today, they will be included in the query string, but with no value.... e.g. "?sha=&path=&author=", etc.  I'm not actually sure what will happen with the since time.  I think I typically check for `!IsZero()` before adding it to the `url.Values`.