Searching for a Git commit by name with grep
Posted 24th July 2020 in Development and Git
Sometimes I need to find a commit. It’s easy if the commit I’m looking for was very recent – a quick git log
will do the job.
If the commit I’m after was a few weeks ago, it’s likely that I’m going to have some scrolling to do. git log
is quite noisy, so I might add --oneline
to keep it easy to scan.
But what if the commit I’m after was last year? I’m going to have to do a lot of scrolling! That’s where --grep
comes in.
I wanted to reference some work I did on the <address>
element in an article I wrote earlier this week, so I filtered my git log
like this:
git log --grep="address" --oneline
This gave me a dozen or so results. Much easier to find what I was after!
Once I had the commit, I copied the commit hash and took a closer look with git show d773c20
, and this was what the commit looked like:
commit d773c20fd45d993d96abe7f42e0336b8f3ff8e35
Author: Martin Underhill <martin@tempertemper.net>
Date: Thu Jun 27 21:13:26 2019 +0100
Adds role of group to address to stop duplicate contentinfo
diff --git a/src/site/_includes/footer.html b/src/site/_includes/footer.html
index b7a1e44..247838b 100644
--- a/src/site/_includes/footer.html
+++ b/src/site/_includes/footer.html
@@ -12,7 +12,7 @@
</nav>
<div class="copyright">
<p>© copyright 2009 to 2024</p>
- <address class="adr">
+ <address class="adr" role="group">
<span class="org">tempertemper Web Design Ltd</span>,
<span class="extended-address">Clavering House</span>,
<span class="street-address">Clavering Place</span>,
(END)
Exactly what I was after! I then used the date to find the PR that the commit was part of and, in turn, the link to the commit on GitHub.
This exercise was also a good reminder to keep commits small and regular, and to name them descriptively!