All Git Commit Messages MUST meet with this Text Format:
:emoji1: :emoji2: Subject
(Only One NewLine)
Message Body
(Only One NewLine)
Ref <###>
- Capitalize the Subject.
- Do not end the Subject line with a period.
- Message Subject SHOULD Begin with at-least One Emoji(see below for list of Suggested Emojis).
- Message Body SHOULD End with at-least One GitHub Issue/Phabricator Task ID Reference, Ex.
Issue #27,Ref T27orRef T27, T56orFixes T8. - Total Characters of the Subject Line MUST be Less than or Equal to 50 Chars Long.
- Wrap the Message body at 72 characters.
- Use Valid MarkDown format in Message Body.
- Use the Present Tense ("Add feature" not "Added feature").
- Use the Imperative Mood ("Move cursor to..." not "Moves cursor to...").
- Use the Message body to explain what and why vs. how.
- All WIP(Work In Progress) Commits MUST have the WIP Emoji(see below).
- All WIP Commits Should be Avoided!.
- Tasks with Commits in
Fixes T###Format will be Automatically Closed as Resolved!. - There is a Space Character between Multiple Emojis!.
- There is NO New-Line After the Task ID Reference Line.
- Every Raw Emoji Text(
:emoji:) is Counted as One Char!. - See ToDo Grammar StyleGuide for more Information on
@XXXComment Tags.
| Emoji | Raw Emoji Code | Description |
|---|---|---|
| π¨ | :art: |
when improving the format/structure of the code |
| π¦ | :sweat_drops: |
When removing whitespaces or deadcodes |
| π° | :newspaper: |
when creating a new file |
| π | :pencil: |
when performing minor changes/fixing the code or language |
| π | :racehorse: |
when improving performance |
| π | :books: |
when writing docs |
| π | :bug: |
when reporting a bug, with @FIXMEComment Tag |
| π | :ambulance: |
when fixing a bug |
| π₯ | :fire: |
when removing code or files, maybe with @CHANGED Comment Tag |
| π | :tractor: |
when change file structure. Usually together with π¨ |
| β | :umbrella: |
when adding tests |
| π¬ | :microscope: |
when adding code coverage |
| π | :green_heart: |
when fixing the CI build |
| π | :lock: |
when dealing with security |
| β¬οΈ | :arrow_up: |
when upgrading dependencies |
| β¬οΈ | :arrow_down: |
when downgrading dependencies |
| π | :syringe: |
when adding devtools to boost productivity |
| β© | :fast_forward: |
when forward-porting features from an older version/branch |
| βͺ | :rewind: |
when backporting features from a newer version/branch |
| π | :shirt: |
when removing linter/strict/deprecation warnings |
| π | :lipstick: |
when improving UI/Cosmetic |
| βΏ | :wheelchair: |
when improving accessibility |
| π | :globe_with_meridians: |
when dealing with globalization/internationalization/i18n/g11n |
| π§ | :construction: |
WIP(Work In Progress) Commits, maybe with @REVIEW Comment Tag |
| π | :gem: |
New Release |
| π | :bookmark: |
Version Tags |
| π | :tada: |
Initial Commit |
| π | :speaker: |
when Adding Logging |
| π | :mute: |
when Reducing Logging |
| β¨ | :sparkles: |
when introducing New Features |
| β‘ | :zap: |
when introducing Backward-InCompatible Features, maybe with @CHANGED Comment Tag |
| π‘ | :bulb: |
New Idea, with @IDEA Comment Tag |
| βοΈ | :snowflake: |
changing Configuration, Usually together with π§ or π or π |
| π | :ribbon: |
Customer requested application Customization, with @HACK Comment Tag |
| π | :rocket: |
Anything related to Deployments/DevOps |
| π¦ | :bank: |
Generic Database specific (Migrations, Scripts, Extensions, ...) |
| π³ | :whale: |
Docker Configuration |
| π€ | :handshake: |
when Merge files |
Ask to Be Creative!
There is Also a nifty CLI tool to aid in standardizing commit messages based on this document, thanks to @jakeasmith.