It’s recommended that each pull-request give a commit message with a pre-defined prefix, this should be an optional rule.
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Formatting, missing semi-colons, white-space, etc
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests
- chore: Maintain. Changes to the build process or auxiliary tools/libraries/documentation
These prefix are part of Angular.js commit message conventions, and you can take a look at their practice in Angular.js github project.
In Grin project, there’s no need to fully follow Angular.js commit message conventions. We just need use these prefixes in each pull-request’s title, that’s all, it’s very simple but with several benefits:
- It’s very clear to know the type of each PR.
- Since the PR title is also the git commit message title after it’s merged, it will be very neat when read the git log.
- We’re doing the binary auto-releasing (check PR #1540 for the detail), and it is using automatic change log generating function, thanks to github-changelog-generator. These change logs are fully automated generated, and this generator heavily rely on the Github *issues and pull requests, so for achieving a neat change log on each release, we need define some simple rules for them.
At the end, regarding Template :
- Perhaps a simple pull-request template can be set as default in Github, after this proposal is fully reviewed and agree, I will research it later.
Welcome your comments and proposals ~
Updated at 25th Sep.
- remove the convention proposal regarding to “Fixed” and “Closed” message, looking @antioch comment, and we should stick with github conventions on this part, as this will link issues and PRs and close them as automatically.