
Many of us don’t pay much attention to commit messages. But when we need to look for a specific change, or we are wondering why was an addition made, problems appear. What if I told you, there is a simple and easy way to greatly improve the experience with git history.
Let’s be honest, we all have seen (and been a part of) such git logs:
ad8621a Fix a bug in the feature
16b36c6 Addressed a PR comment
23ad9ad You can now download form correctly through the main website
21672sd Typing for mypy
These messages try to describe what changes have been made, but ultimately are not much of use. Why?
All of these problems may be solved by adopting a git commit message convention into the project, and today I am going to show you one - Karma.
Today, we are not talking about famous religious-based “you get what you do”. However, that analogy is quite fitting as karma will sooner or later get you, if you are not using proper commit messages. The Karma I want to show you is a git commit message convention, birthed from theAngularJS Git Commit Conventions google document, adapted to be used with any project and language. It aims to provide more useful, clear and precise information when browsing the git history, while also helping to easily achieve other goals:
git log
HEAD --pretty=format:%s # All commits since the last release
23ad9ad feat(proxy): Added support for bi-directional streams
21672sd fix(proto): Fixed missing type annotation
git log
HEAD --grep feat # All new features since the last release
23ad9ad feat(proxy): Added support for bi-directional streams
The general structure of a Karma based message is:
Building something similar or facing technical challenges? We've been there.
Let's talk — no sales pitch, just honest engineering advice.
From Startups to MusicTech Maciej Dulski on Sound Connections Podcast
Maciej Dulski from MusicTech Lab shares insights on the evolving music tech landscape, its impact on artists and businesses, and how technology is reshaping the industry in the Sound Connections Podca
Hasura in action. How to use it with Django
Hasura is an application which gives you an instant GraphQL/REST API based on your database schema. As of writing it supports Postgresql, SQL Server and Big Query databases but MySQL, Oracle and Elast