1
1
Fork 0
portfolio/blog/git-commit-targeting.md
2025-04-18 22:38:02 -06:00

55 lines
1.5 KiB
Markdown

---
title: Easy Git Commit Targeting
description: Shortened SHA hashes and relative offsets
date: 2017-04-21
tags:
- Tech
---
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.
``` bash
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.
``` bash
git diff HEAD~
```
### Past Tilde
Adding a number after the tilde `~` will target a commit prior to the head equal to the number specified.
``` bash
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.
``` bash
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.
``` bash
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.