45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
---
|
|
title: Referencing other commits in commit messages
|
|
date: 2024-05-20
|
|
permalink: daily/2024/05/20/referencing-other-commits-in-commit-messages
|
|
tags:
|
|
- software-development
|
|
- git
|
|
cta: ~
|
|
snippet: |
|
|
Have you tried referencing other commits when writing a commit message?
|
|
---
|
|
|
|
Last week, I asked [whether you should include issue IDs in commit messages][0].
|
|
|
|
Another thing I like to reference in a commit message is the commit ID (or SHA) of a related commit.
|
|
|
|
For example, when I run `git log` in my website repository, I see commits like this:
|
|
|
|
```plain
|
|
commit 0c91825c16217d0fe7eff4ea100a67550051c4a9
|
|
Author: Oliver Davies <oliver@oliverdavies.dev>
|
|
Date: Sat May 11 15:32:07 2024 +0200
|
|
|
|
Create a cached talk counter
|
|
|
|
Create a cached version of the talk counter service that returns a
|
|
cached result of the talk count for that day.
|
|
|
|
This uses the Decorator design pattern to decorate the existing
|
|
`TalkCounter` service and works as they both implement the same
|
|
`TalkCounterInterface`.
|
|
```
|
|
|
|
The sha for this commit is `0c91825c16217d0fe7eff4ea100a67550051c4a9`.
|
|
|
|
If I was to make another commit that was related to this one, I can include this commit sha in my new commit message.
|
|
|
|
I also don't need to include the entire thing - only enough for it to be unique (usually five or six characters).
|
|
|
|
Once pushed, the commit IDs should never change, so this will be a permanent reference to the first commit.
|
|
|
|
Helpfully, websites like GitHub, GitLab and Bitbucket will identify it as a commit sha and make it clickable so you can easily navigate to the referenced commit.
|
|
|
|
[0]: {{site.url}}/daily/2024/05/15/should-you-include-issue-ids-in-your-commit-messages
|