Easy Git Commit Targeting

Shortened SHA hashes and relative offsets

A generally agreed upon goal of a developer is to use the mouse as little as possible. An often overlooked moment of touching the mouse is the seemingly inevitable moment of having to target a git commit via it’s SHA hash. Truth is this doesn’t need to be an ordeal.

Let’s look at some alternative ways to target commits.

By Shortened SHA Hash

Traditionally to find the git diff 123abc456def789ghi on a SHA you’d use the entire SHA hash. Instead, you can type just the first few characters and Git will figure out the rest.

1
git diff 123abc

Tilde

A common target is the previous commit from the HEAD. Using HEAD~ will specify the intention of one commit before the HEAD.

1
git diff HEAD~

Past Tilde

Adding a number after the tilde ~ will target a commit prior to the head equal to the number specified.

1
git diff HEAD~3

Stacked Carets πŸ₯•πŸ₯•πŸ₯•

Alternatively, the number of caret characters after HEAD will similarly target a commit prior to HEAD equal to the number of carets.

1
git diff HEAD^^^

Combine These Tricks

So close! Ever want to target the commit just previous to a SHA hash? It’s easier than you think.

1
git diff 123abc~

Summary

Through a combination of shortened SHA hashes, HEAD, and relative tilde/caret characters anyone can fly through git history with confidence.