`git log` command is used to view the commit history and display the necessary information of the git repository. This command displays the latest git commits information in chronological order, and the last commit will be displayed first.
git log -p command displays the patch representing each commit.
Git file History provides information about the commit history associated with a file. To use it: Go to your project's Repository > Files. In the upper right corner, select History.
Select a file or directory in the Editing page, and choose Git Log in the Actions menu. This will show all commits in your current local branch that involve changes to the chosen file or directory.
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"
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.
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.
I made a git alias for that specific purpose:
commitsAtDate = "!f() { git log --pretty='format:%C(yellow)%h %G? %ad%Cred%d %Creset%s%C(cyan) [%cn]' --decorate --after=\"$1 0:00\" --before=\"$1 23:59\" --author \"`git config user.name`\"; }; f"
Usage:
git commitsAtDate 2017-08-18
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With