DEV Community

Cover image for Better Git Commits with `@commitlint`

Better Git Commits with `@commitlint`

Muhammad A Faishal on September 11, 2023

When working on a project together, Git is a crucial tool that help teams collaborate smoothly. One of the key features is commits, which act like ...
Collapse
 
websvcpt profile image
WEBsvc

That sounds nice, but don't get me wrong
Good amount of dev will want to push code and don't care, and above all, do not understand the importance of a well written commit message.
Most don't even know how to use git cli, again, don't care and don understand the importance of it.

Best way I've found to enforce decent commit messages was to have a semrel stage in our CI.
If messages are not compliant, there will be no builds. Hence, work is not finished.

It's not perfect, but after a few weeks devs will follow the guidelines.

Relying on a local tool for it is troubling down the road.

Eider way, this should prevent some hiccup or distraction of the dev as long he cares heheh

Collapse
 
maafaishal profile image
Muhammad A Faishal

Yeah, there are many ways to keep devs disciplined, especially in a company.

That's a good idea, btw!

Collapse
 
lico profile image
SeongKuk Han

Oh~ there is a perf tag. I didn't know that. Thanks for sharing the good post!

Collapse
 
pshaddel profile image
Poorshad Shaddel

Nice, This was also my concern, that was why i created this CLI tool to do that in our projects: github.com/pshaddel/homebrew-conve...

Collapse
 
maafaishal profile image
Muhammad A Faishal • Edited

That's good!

Collapse
 
rojansr profile image
Rojan Rai

Thank You!

Collapse
 
chrisnelsonpe profile image
Chris Nelson

Interesting. But I'd find it more useful as a server-side pre-commit hook that rejected bad commits. Herding cats to get all the developers on the team to install this client side makes it impractical for me.

Collapse
 
maafaishal profile image
Muhammad A Faishal

Yeah, to make commitlint powerful, you can use npmjs.com/package/husky.

Collapse
 
safventure11000 profile image
Saf11000

nice. thanks

Collapse
 
xanwtf profile image
Xan

Needs an option to require a gitmoji

Collapse
 
jeremysawesome profile image
Jeremiah Smith

I love me some gitmoji.

Collapse
 
hardiklakhalani profile image
Hardik Lakhalani

Is there anyway we can use this or any alternative linter with Gitlens in VSCode?

Collapse
 
maafaishal profile image
Muhammad A Faishal

Yeah, there is. You can use it with husky to make it powerful