SlideShare a Scribd company logo
Commit Messages 101
A Short Story About The Reading
And Writing of Books
Benjamin Wolf
@ichaos1985
Photo by kellepics on Pixabay
„Reading good code
is like reading
a good book.“
Benjamin Wolf
Senior Consultant
at INNOQ
Develops applications in Java / .NET
Loves software quality
Coffee snob
Photo by Emily Morter on Unsplash
The Recipe of
Good
Commit Messages
Story
Warm, sunny. Was day.
Silence is utter and complete.
Wizard, staff, travel book.
Touched the ground (staff). Roared.
Find monster despite veil.
Got away. Unrealistic, unharmed.
Recovered staff, straightening, turning the threat.
A Wizard’s Tale
It was a warm and sunny day.
Only the utter and complete silence seemed off.
The Wizard carefully put his staff down and opened his travel book.
The moment his staff touch the ground, a roar resounded from behind.
Obviously, the monster had found him despite his magical veil.
Getting away completely unharmed seemed unrealistic.
He recovered his staff, straightened himself and turned to face the threat.
Tweet by Denis Kyorov on TwitterTweet by Denis Kyorov on Twitter
Photo by Emily Morter on Unsplash
Style
Photo by Nafinia Putra on Unsplash
Content
Photo by Sindre Aalberg on Unsplash
Metadata
Photo by Jingyi Wang on Unsplash
Chapter 1
Separate subject
from body
with a blank line
Chapter 2
Limit the
subject line to
50 characters
Chapter 3
Capitalise
the subject line
Chapter 4
Do not end
the subject line

with a period
Chapter 5
Use the
imperative mood

in the subject line
Chapter 6
Wrap the body

at 72 characters
Chapter 7
Use the body
to explain

what and why
vs. how
Summarise changes in around 50 characters or less
More detailed explanatory text, if necessary. Wrap it to
about 72 characters or so. In some contexts, the first
line is treated as the subject of the commit and the rest
of the text as the body. The blank line separating the
summary from the body is critical (unless you omit the
body entirely); various tools like ‘log’, ‘shortlog’ and
‘rebase’ can get confused if you run the two together.
Explain the problem that this commit is solving. Focus on
why you are making this change as opposed to how (the
code explains that). Are there side effects or other
unintuitive consequences of this change? Here's the place
to explain them.
Source: Chris Beams on chris.beams.io
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet,
preceded by a single space, with blank lines in between,
but conventions vary here
If you use an issue tracker, put references to them at
the bottom, like this:
Resolves: #123
See also: #456, #789
Source: Chris Beams on chris.beams.io
What you do…
Some bugs fixed
Fixed bugs
Some little changes
Changed a little
Small fixes
Fixes XYZ
F*CK! Had to revert!
(Applying this commit will)
(Applying this commit will)
(Applying this commit will)
(Applying this commit will)
(Applying this commit will)
(Applying this commit will)
(Applying this commit will)
What you SHOULD do…
Fix some of our most crucial bugs
Fix bug caused by user input on empty page
Adjust some parts of the new layout
Change the layout a bit
Fix smaller issues (see #301)
Fix a rare (and evil) NullReferenceException
Revert changes due to unexpected behaviour
Real world examples
when things went sideways
Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101
Thank you for using <AppName>! We’re always
working hard to make the app faster and
better than ever. Update to the most recent
version to get the best experience of
<AppName>.
Love the app? Rate us! Your feedback helps us
to continuously improve <AppName>.
Create atomic commits
Create atomic commits
Write commit messages
Create atomic commits
Write commit messages
Write good commit messages
Commit Messages 101
A Short Story About The Reading
And Writing of Books
Benjamin Wolf
@ichaos1985
Photo by kellepics on Pixabay
Resources
• Cover page, last page: Photo by Nicole Honeywill on Unsplash, https://unsplash.com/photos/_-hjiem5TqI
• Page 7, “Where is the Love“, Photo by Emily Morter on Unsplash, https://unsplash.com/photos/8xAA0f9yQnE
• Page 8, “Latte art and laptop“, Photo by Nafinia Putra on Unsplash, https://unsplash.com/photos/k7BdNN6TwFo
• Page 9, “Round storage“, Photo by Sindre Aalberg on Unsplash, https://unsplash.com/photos/mEr7U5yfYt8
• Page 10, “Network everything“, Photo by Jingyi Wang on Unsplash, https://unsplash.com/photos/avKPLHgASBM
• Page 11-17, “Open Empty Book“, Photo by John Schnobrich on Unsplash, https://unsplash.com/photos/bNCKsUyQYmM
• Pages 11-19: „How to write a commit message“, Chris Beams on https://chris.beams.io/posts/git-commit/, CC BY-SA 4.0
• Black Book, Photo by Kelly Sikkema on Unsplash

More Related Content

DOCX
Site Plan
PPTX
Coursework Evaluation Question 1
PPTX
Evaluation 1 and 2 media
PPTX
Media evaluation questions 4 and 5
PPTX
Monster (emil tanev)
PPT
Step 2 – proposal
PDF
Commit to good commit messages
PDF
On committing well
Site Plan
Coursework Evaluation Question 1
Evaluation 1 and 2 media
Media evaluation questions 4 and 5
Monster (emil tanev)
Step 2 – proposal
Commit to good commit messages
On committing well

Similar to Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101 (20)

PPTX
Clean up your mess!
PDF
Best Practices in Software Development
PPTX
Git style best practices - OLX
PDF
Simplify writing code with deliberate commits
PPTX
Crafting Better Git Commits
PDF
Writing Commits for You, Your Friends, and Your Future Self
PDF
Git_Practices - Guidelines.pdf
PDF
UChicago CMSC 23300 - The Best Commit Messages of 2017
PDF
How to write good quality code
PPTX
Crafting Better Commits
PDF
Voxxed Days Thessaloniki 2016 - Documentation Avoidance
PDF
Telling stories through your commits
PDF
Telling stories through your commits (Jan 2015)
PDF
Telling stories through your commits - Lead Developer Conference 2016
PPTX
Pull requests do's and don'ts
KEY
Tweakers Anonymous
PDF
Rob Gill - Minor bug fixes
PDF
Code Reviews @ Quatico
PDF
Git best practices 2016
PDF
Documentation avoidance for developers
Clean up your mess!
Best Practices in Software Development
Git style best practices - OLX
Simplify writing code with deliberate commits
Crafting Better Git Commits
Writing Commits for You, Your Friends, and Your Future Self
Git_Practices - Guidelines.pdf
UChicago CMSC 23300 - The Best Commit Messages of 2017
How to write good quality code
Crafting Better Commits
Voxxed Days Thessaloniki 2016 - Documentation Avoidance
Telling stories through your commits
Telling stories through your commits (Jan 2015)
Telling stories through your commits - Lead Developer Conference 2016
Pull requests do's and don'ts
Tweakers Anonymous
Rob Gill - Minor bug fixes
Code Reviews @ Quatico
Git best practices 2016
Documentation avoidance for developers
Ad

More from DevDay Dresden (20)

PDF
The Architecture of Uncertainty - Kevlin Henney
PDF
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
PDF
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
PDF
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
PDF
Alexander Reelsen - Seccomp for Developers
PDF
DevDay 19 Accessibility: Praxistipps für Entwickler
PDF
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
PDF
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
PDF
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
PDF
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
PDF
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
PDF
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
PDF
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
PDF
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
PDF
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
PDF
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
PDF
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
PDF
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
PDF
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
PDF
Dev Day 2019: Mike Sperber – Software Design für die Seele
The Architecture of Uncertainty - Kevlin Henney
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Tobias Nebel - Herausforderungen und Changen in Full-Stack-IoT-Projekten
Andreas Roth - GraphQL erfolgreich im Backend einsetzen
Alexander Reelsen - Seccomp for Developers
DevDay 19 Accessibility: Praxistipps für Entwickler
Dev Day 2019: Phillip Krenn – Aggregierte Logging Patterns
Dev Day 2019: Mirko Seifert – Next Level Integration Testing mit Docker und T...
Dev Day 2019: Nathan Mattes – Kommunikation ist wichtig, scheiße wichtig und ...
Dev Day 2019: Stephan Birnbaum – Die Glaskugel hat ausgedient, wir machen Sof...
Dev Day 2019: Markus Winand – Die Mutter aller Abfragesprachen: SQL im 21. Ja...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kathrin Friedrich/Michael Kunze – Design better together - Styl...
Dev Day 2019: Lucas Fiedler – DevOps-Dashboard: Transparenz für DevOps-Teams
Dev Day 2019: Ulrich Deiters – Offene Daten und IT-Lösungen für den Radverkehr
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Martin Schurz - Manual Work Is A Bug!
Dev Day 2019: Stefan Schleyer: How to build an cloud-based IoT application“
Dev Day 2019: Mirko Zeibig – "Hallo " <> "Elixir"
Dev Day 2019: Mike Sperber – Software Design für die Seele
Ad

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
history of c programming in notes for students .pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
L1 - Introduction to python Backend.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Introduction to Artificial Intelligence
PPTX
assetexplorer- product-overview - presentation
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
medical staffing services at VALiNTRY
Reimagine Home Health with the Power of Agentic AI​
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
history of c programming in notes for students .pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Operating system designcfffgfgggggggvggggggggg
L1 - Introduction to python Backend.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How to Choose the Right IT Partner for Your Business in Malaysia
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
VVF-Customer-Presentation2025-Ver1.9.pptx
PTS Company Brochure 2025 (1).pdf.......
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Introduction to Artificial Intelligence
assetexplorer- product-overview - presentation
Designing Intelligence for the Shop Floor.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Odoo Companies in India – Driving Business Transformation.pdf
medical staffing services at VALiNTRY

Dev Day 2019: Benjamin Wolf – "Some fixes" - Commit Message 101

  • 1. Commit Messages 101 A Short Story About The Reading And Writing of Books Benjamin Wolf @ichaos1985 Photo by kellepics on Pixabay
  • 2. „Reading good code is like reading a good book.“ Benjamin Wolf Senior Consultant at INNOQ Develops applications in Java / .NET Loves software quality Coffee snob
  • 3. Photo by Emily Morter on Unsplash The Recipe of Good Commit Messages
  • 4. Story Warm, sunny. Was day. Silence is utter and complete. Wizard, staff, travel book. Touched the ground (staff). Roared. Find monster despite veil. Got away. Unrealistic, unharmed. Recovered staff, straightening, turning the threat.
  • 5. A Wizard’s Tale It was a warm and sunny day. Only the utter and complete silence seemed off. The Wizard carefully put his staff down and opened his travel book. The moment his staff touch the ground, a roar resounded from behind. Obviously, the monster had found him despite his magical veil. Getting away completely unharmed seemed unrealistic. He recovered his staff, straightened himself and turned to face the threat.
  • 6. Tweet by Denis Kyorov on TwitterTweet by Denis Kyorov on Twitter
  • 7. Photo by Emily Morter on Unsplash
  • 8. Style Photo by Nafinia Putra on Unsplash
  • 9. Content Photo by Sindre Aalberg on Unsplash
  • 10. Metadata Photo by Jingyi Wang on Unsplash
  • 11. Chapter 1 Separate subject from body with a blank line
  • 12. Chapter 2 Limit the subject line to 50 characters
  • 14. Chapter 4 Do not end the subject line
 with a period
  • 15. Chapter 5 Use the imperative mood
 in the subject line
  • 16. Chapter 6 Wrap the body
 at 72 characters
  • 17. Chapter 7 Use the body to explain
 what and why vs. how
  • 18. Summarise changes in around 50 characters or less More detailed explanatory text, if necessary. Wrap it to about 72 characters or so. In some contexts, the first line is treated as the subject of the commit and the rest of the text as the body. The blank line separating the summary from the body is critical (unless you omit the body entirely); various tools like ‘log’, ‘shortlog’ and ‘rebase’ can get confused if you run the two together. Explain the problem that this commit is solving. Focus on why you are making this change as opposed to how (the code explains that). Are there side effects or other unintuitive consequences of this change? Here's the place to explain them. Source: Chris Beams on chris.beams.io
  • 19. Further paragraphs come after blank lines. - Bullet points are okay, too - Typically a hyphen or asterisk is used for the bullet, preceded by a single space, with blank lines in between, but conventions vary here If you use an issue tracker, put references to them at the bottom, like this: Resolves: #123 See also: #456, #789 Source: Chris Beams on chris.beams.io
  • 20. What you do… Some bugs fixed Fixed bugs Some little changes Changed a little Small fixes Fixes XYZ F*CK! Had to revert!
  • 21. (Applying this commit will) (Applying this commit will) (Applying this commit will) (Applying this commit will) (Applying this commit will) (Applying this commit will) (Applying this commit will) What you SHOULD do… Fix some of our most crucial bugs Fix bug caused by user input on empty page Adjust some parts of the new layout Change the layout a bit Fix smaller issues (see #301) Fix a rare (and evil) NullReferenceException Revert changes due to unexpected behaviour
  • 22. Real world examples when things went sideways
  • 24. Thank you for using <AppName>! We’re always working hard to make the app faster and better than ever. Update to the most recent version to get the best experience of <AppName>. Love the app? Rate us! Your feedback helps us to continuously improve <AppName>.
  • 26. Create atomic commits Write commit messages
  • 27. Create atomic commits Write commit messages Write good commit messages
  • 28. Commit Messages 101 A Short Story About The Reading And Writing of Books Benjamin Wolf @ichaos1985 Photo by kellepics on Pixabay
  • 29. Resources • Cover page, last page: Photo by Nicole Honeywill on Unsplash, https://unsplash.com/photos/_-hjiem5TqI • Page 7, “Where is the Love“, Photo by Emily Morter on Unsplash, https://unsplash.com/photos/8xAA0f9yQnE • Page 8, “Latte art and laptop“, Photo by Nafinia Putra on Unsplash, https://unsplash.com/photos/k7BdNN6TwFo • Page 9, “Round storage“, Photo by Sindre Aalberg on Unsplash, https://unsplash.com/photos/mEr7U5yfYt8 • Page 10, “Network everything“, Photo by Jingyi Wang on Unsplash, https://unsplash.com/photos/avKPLHgASBM • Page 11-17, “Open Empty Book“, Photo by John Schnobrich on Unsplash, https://unsplash.com/photos/bNCKsUyQYmM • Pages 11-19: „How to write a commit message“, Chris Beams on https://chris.beams.io/posts/git-commit/, CC BY-SA 4.0 • Black Book, Photo by Kelly Sikkema on Unsplash