Meanwhile my coworkers just commit with "lol" and get the same result. What I learned from this is that you don't need to split commits, just commit everything at once and add a "good enough" message. E.g. if you're working on a provider just use "Updated provider"
That being said, some places do have commit standards. Just ask the team what they do when you start somewhere. Don't bring conventions in where a team doesn't use them - it just adds noise. If you or the team see how adding conventions can benefit your work, talk about it and make a decision together.
When it comes to working in teams I actually do recommend them because during a code review you can - at a glance - read what each commit has done so you can familiarise yourself with the steps the developer took to reach the state in the PR.
For small teams I'm a big proponent of slimmed down version of Conventional Commits' standard. At our startup we would only really use these types: fix/feat/chore/docs/refactor/revert/ci/test.
Something simple like:
fix(ControlPanel): popover animation no longer causes layout shifts
is perfect
Don't overthink it though, it's a thing that is used in some open-source projects and companies. As long as you follow the rules of the project, you'll be fine. Same for the coding style and format, do like everyone else.
Some people do require to do the whole fix:, chore:, docs:, refactor:, but I find this is more as some quality control tool rather than a documentation tool.
Ours is integrated heavily with Jira, so using the ticket number helps the most. We're likely to find commits/PRs from tickets, or jump to the ticket for the context of the commit. The other entry point is looking at git blame on an IDE, especially a funky looking line of code like `if (nonsense logic)` is causing a bug regression. When this happens, I want the ticket. I can immediately just paste the ticket number into Jira.
As always, different styles are suited to different cultures. Read everything here for ideas, but pick one that fits your culture the best.
https://git-scm.com/book/ms/v2/Distributed-Git-Contributing-...
https://git-scm.com/docs/SubmittingPatches#describe-changes
For examples of projects that do this very well, I usually point people to the Linux kernel (for which Git was invented) and Go.
https://www.kernel.org/doc/html/latest/process/submitting-pa...
> sync
> blah
> i haven't committed this since a week, so let's do this now
> fix that bug, and 15 other things
At work, and when I push some OSS code, I do as the Romans do.
Before anyone screams, I don't expect you to browse my projects, even when they are public or shared. Writing this because it's one of the practical ways. I know you don't like it and would fire me asap even for my project commits, yeah dream about it.
For merge commits An "and" or long description hints it needs to be broke up
Do you want to use it to power versioning and CI?
Do you want commits traceable to tickets/issues
Do you want to do merge commits or squashes?
Do you want to generate change logs from the commits?
Different strategies will benefit different needs.
For example -
" uuid added to the test to make the newly created mailbox different each time "
line 2: blank
line 3+: long description, paragraphs, details, context for decisions made, rambling
1. describe how things work (or not work) currently
2. proposed solution to the problem this commit attempts
3. more implementation/technical details
4. (optionally) tests or reproduction scenario