git/descriptive-commit-message
Severity: warning · Status: enforced · Applies to: repository-wide
What
Replace the message GitHub fills in for you. Say which identifier changed.
Why
Every identifier in this repository has an .htaccess and most have a README.md, so "Update .htaccess" says nothing at all about what happened. More than a thousand commits here already carry that exact message.
The history is how anyone works out later why a redirect points where it does. A message that names the identifier makes git log --grep useful; one that does not makes a decade of commits into an undifferentiated wall.
About one commit in six arrives with the default message.
Wrong
Update .htaccess
Create README.md
Add files via uploadRight
Add redirect for my-project
my-project: point vocab at the 1.2.0 release
my-project: add maintainer GitHub handleHow to fix
In the GitHub web interface, the commit message box sits below the editor and is pre-filled — replace the text before committing.
Locally:
git status # anything staged is added to the amended commit
git commit --amend -m "Add redirect for my-project"This rewords only the most recent commit. For an older one, use the git rebase -i in git/minimal-commits and mark it reword.
For a message already pushed, amend and force-push:
git push --force-with-leaseHow to check
Run w3id-check with --rule git/descriptive-commit-message to check this rule on its own; without it the tool runs every rule, as the pull request checks do. This rule looks at your commits rather than your files, so it needs a base to compare against; narrowing it to a path would not change what it reports.
node tools/check/bin/w3id-check.js --rule git/descriptive-commit-messageTesting your changes covers installing the tool, and what else is worth checking by hand.