Q:

How do I view all commits for a specific day?

I've already looked at the relevant docs from git-scm.com and gitref.org, but I can't seem to figure this out. 
Let's say I want to get all commits for Tuesday, November 12th, 2013. Using an existing repo as an example, I know for a fact that I have commits on that day, as well as commits the day before and the day after. 
With 2013-11-11 and 2013-11-12
All the following give me commits for both November 11th and 12th:

git log --after="2013-11-11" --until="2013-11-12"
git log --since="2013-11-11" --until="2013-11-12"
git log --after="2013-11-11" --before="2013-11-12"
git log --since="2013-11-11" --before="2013-11-12"

With 2013-11-12 only
All the following give me no commits:

git log --since="2013-11-12" --until="2013-11-12" 
git log --since="2013-11-12" --before="2013-11-12"
git log --after="2013-11-12" --until="2013-11-12"
git log --after="2013-11-12" --before="2013-11-12" 

With 2013-11-12 and 2013-11-13
As expected (from the results of 2013-11-11 and 2013-11-12 above), all of the following give me results from both November 12th and 13th:

git log --since="2013-11-12" --before="2013-11-13"
git log --after="2013-11-12" --before="2013-11-13"
git log --since="2013-11-12" --until="2013-11-13"
git log --after="2013-11-12" --before="2013-11-13"

...and so on and so forth. I feel like I've tried every possible combination of since, after, before, and until but still can't find the answer, nor do I understand whether those options are inclusive or exclusive, since they seem to be inclusive if the two dates are different, but exclusive if they're on the same day. Did I miss something / what am I doing wrong?! 

A:

Thanks John Bartholomew! 
The answer is to specify the time, e.g. git log --after="2013-11-12 00:00" --before="2013-11-12 23:59"

A:

I usually check my git log and see what I was working on a specific day and update my timesheet based on that, but it's a pain in the ass to type in the full date in ISO format so I just do it like this
git log --after=jun9 --before=jun10

and I add --author to only print my commits
git log --since=jun9 --until=jun10 --author=Robert 

This prints commits that happened on the last 9th of June (so for 2016 in this case and not for 2015 or 2014 and so on).
The --since/--after and --until/--before parameters can also take stuff like 3 days ago, yesterday, etc.

A:

Nothing wrong with the accepted answer (which I upvoted), but... we're here for science!
The output below can be expanded/customised with pretty=format:<string> placeholders:
git log --pretty='format:%H %an %ae %ai' | grep 2013-11-12

Not 100% immune to errors as the same string could have been entered by a user. But acceptable depending on which placeholders are used. The snippet above would not fail, for instance.
One could as well just parse the whole git log to JSON and consume/manipulate its data to one's heart content. Check https://github.com/dreamyguy/gitlogg out and never look back!
Disclaimer: that's one of my projects.

