I recommend to look into git log --help and git rev-list --help .
I just created 2 scripts to list commits from Git repositories. It’s more in the score of an alias actually, so nothing comprehensive here. If you have some one-liners, alias or scripts for commits listing, please share here. The link of this post goes to the git log documentation. I’ll share mine in the comments too rather than in the post.


Interesting. So this is an Emacs extension it seems. Are the Git commands it produces usable outside Emacs?
That’s right. I have taught many people to use Magit, who have then loved it so much they go on to learn Emacs :-)
Yes, Magit is a porcelain to Git, meaning that Magit uses Git commands as its internal plumbing. Any option you select is shown (de-emphasised) as the corresponding Git command-line option; and any operation Magit does, you can optionally pull up the window where it’s running the Git commands.
This is a very good way to learn Git! The Magit interface is highly coherent and comprehensive, so it’s relatively easy to discover what you can do; and then you (optionally) look behind the scenes while it does it.
None of this saves you from the burden of learning the mental model of how a Git repository operates. But at least you can learn that after getting your work done, by asking “okay and how did happen?”.
Unfortunately I’m an evil Vim user. As for me, I’m not afraid of reading documentation and help texts. And in fact I love writing scripts and chain commands. But I’m at least always open to see what others do and use.