> Implement automation to flag and block/reject bad commit messages.
They'll just use `git commit -n` to skip the pre-commit hook.
And if it's verified in CI (e.g. with Danger), someone will just create a script to automate writing commit messages that pass the good commit message test.
That's what git stash is for; you can even add a message, just like a commit, to the stash. A commit should always be in a good state, runnable, without lint or other errors.
Yes. In my experience, anything that prevents people from committing to local branches is incredibly annoying. You want people to commit frequently and “save their work.” Checks, quality barriers, etc. are fine at CI time.
2. Educate and train ppl to include commit messages when they do code reviews
or 3. give up and move on because your org doesn't care.
Because this is a culture (not code) smell and changing culture is hard and needs support from the top.