If I Could Turn Back (Git) Time

If only there was an easy way to find the first commit in a Git repository… A bit of Googling unveils some pretty hard to remember incantations like:

$ git rev-list --max-parents=0 HEAD
91938b105b3e4ed86ba96602785123ffb1c0d1eb

That returns the SHA-1 hash of the first commit in the repo and you can use git show to actually see the commit details like this:

$ git show 91938b105b3e4ed86ba96602785123ffb1c0d1eb

Or you can simply combine the commands:

$ git show `git rev-list --max-parents=0 HEAD`

This gets the job done, but it’s kind of ugly and in practice you need to map it to some Git alias or a shell alias to be able to use it effectively. Here’s the shell alias approach:

alias git-first="git show `git rev-list --max-parents=0 HEAD`"

At this point it’s time for the twist it our story. Turns out there’s a much simpler way to get to the beginning of your history:

$ git log --reverse

Simple and sweet!

Comments