You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<ahref="https://en.wikipedia.org/wiki/Emoji#Unicode_blocks"><imgsrc="https://img.shields.io/badge/emoji-%F0%9F%A6%84%20%F0%9F%92%9F-lightgrey.svg"alt="Powered by Emojis!"></a>
@@ -26,41 +32,81 @@ Using emojis at the beginning of commit messages, other than being fun, provides
26
32
27
33
If these rules and/or using emojis is an [overkill](/../../issues/21) for your productivity or simply losing its purposes, please tailor them to your needs or don't use them.
28
34
35
+
### Summary of the reasons for these conventions:
36
+
- Fun!
37
+
- Simple navigation through git history (e.g. ignoring style changes).
38
+
- Automatic generating of the changelog.
39
+
29
40
30
41
## Commit Message Format
31
42
32
-
All Git Commit Messages **MUST** meet with this Text Format:
33
43
```
34
-
:emoji1: :emoji2: Subject
35
-
(Only One NewLine)
36
-
Message Body
37
-
(Only One NewLine)
38
-
Ref <###>
44
+
<type>(<scope>): <subject>
45
+
46
+
<body>
47
+
48
+
<footer>
39
49
```
40
50
41
-
### Rules
42
-
43
-
1. Capitalize the _Subject_.
44
-
2. Do not end the _Subject_ line with a period.
45
-
3. Message _Subject_**SHOULD** Begin with _at-least_ One Emoji(see below for [list of Suggested Emojis](#suggested-emojis)).
46
-
4. Message Body **SHOULD** End with _at-least_ One Issue Tracking ID Reference([GitHub Issues](https://github.com/features#issues)/[GitLab Issues](https://docs.gitlab.com/ee/user/project/issues/)/[Phabricator Tasks](http://phacility.com/phabricator/maniphest/)), Ex. `Issue #27`, `Ref T27` or `Ref T27, T56` or `Fixes T8`.
47
-
It's also [recommanded](/../../issues/19) to use _Full URL to Issues_, instead of just Issue ID Number; Doing so will ease browsing issues from terminal.
48
-
5. Total Characters of the _Subject Line_**MUST** be _Less_ than or _Equal_ to **50** Chars Long.
49
-
6. Wrap the _Message body_ at **72** characters.
50
-
7. Use Valid [MarkDown](https://daringfireball.net/projects/markdown/basics) format in _Message Body_.
51
-
8. Use the **Present Tense** ("Add feature" not "Added feature").
52
-
9. Use the **Imperative Mood** ("Move cursor to..." not "Moves cursor to...").
53
-
10. Use the _Message body_ to explain **what** and **why** vs. how.
54
-
11. All WIP(Work In Progress) Commits **MUST** have the WIP Emoji(see below).
55
-
56
-
## Notes
57
-
58
-
+ All **WIP** Commits **Should** be Avoided!.
59
-
+ Refrencing Issues by using special keywords like `Fixes` or `Resolves` will mark them as closed automatically! For more information about automatic issue closing using ketwords see: [GitHub](https://help.github.com/articles/closing-issues-via-commit-messages/)/[GitLab](https://docs.gitlab.com/ee/user/project/issues/automatic_issue_closing.html)/[Phabricator](https://secure.phabricator.com/book/phabricator/article/diffusion_autoclose/).
60
-
+ There is a **Space** Character between Multiple Emojis!.
61
-
+ There is **NO** New-Line After the _Task ID Reference_ Line.
62
-
+ Every Raw Emoji Text(`:emoji:`) is Counted as One Char!.
63
-
+ See [ToDo Grammar StyleGuide](https://github.com/slashsBin/styleguide-todo-grammar) for more Information on `@XXX` Comment Tags.
51
+
### Message Subject(first line)
52
+
- Capitalize the `<subject>`.
53
+
- Do not end the first line with a period.
54
+
- Total characters of the first line **MUST** be _Less_ than or _Equal_ to **50** characters Long.
55
+
- Use the **present tense** ("Add feature" not "Added feature").
56
+
- Use the **imperative mood** ("Move cursor to..." not "Moves cursor to...").
57
+
- Use `<type>` to identify what type of changes introduced in this commit; Allowed `<type>` keywords:
58
+
- An Emoji(see below for [list of Suggested Emojis](#suggested-emojis))
59
+
- Or a Text:
60
+
- feat: new feature for the user(or :sparkles: emoji)
61
+
- fix: bug fix for the user(or :ambulance: emoji)
62
+
- docs: changes to the documentation(or :books: emoji)
63
+
- style: formatting, missing semi colons, etc; no production code change(or :art: emoji)
64
+
- refactor: refactoring production code, eg. renaming a variable(or :tractor: emoji)
65
+
- test: adding missing tests, refactoring tests; no production code change(or :microscope: emoji)
66
+
- chore: updating grunt tasks etc; no production code change
67
+
- If you need more than one keyword or emoji to use, you should probably think twice!. This usally means you need to break this commit into more smaller commits; If thats not the case then separate each emoji with a space.
68
+
- Use `<scope>` to identify which component this `<type>` is related to; Example `<scope>` values:
69
+
- init
70
+
- runner
71
+
- watcher
72
+
- config
73
+
- web-server
74
+
- proxy
75
+
- etc.
76
+
- The `<scope>` can also be empty (e.g. if the change is a global or difficult to assign to a single component), in which case the parentheses are omitted.
77
+
78
+
### Message Body
79
+
- Includes **motivation** for the change and contrasts with previous behavior.
80
+
- Use the body to explain **whats** and **whys** vs. *hows*.
81
+
- Wrap each line of the body at **72** characters.
82
+
83
+
### Message Footer
84
+
- Refrence issues this commit is related to with the status of that Issue; Ex. `Issue #27`, `Ref T27` or `Ref T27, T56` or `Fixes T8`.
- It's also [recommanded](/../../issues/19) to use _Full URL to the Issues_, instead of just issue ID Number; Doing so will ease browsing issues from terminal.
100
+
- In the case of multiple issues separate them with commas, Ex. `Closes #27, #56`.
101
+
102
+
### Notes
103
+
- Use valid [MarkDown](https://daringfireball.net/projects/markdown/basics) format in the `<body>`.
104
+
- All **WIP**(Work In Progress) commits **SHOULD** have the :construction: Emoji.
105
+
- All **WIP** commits **SHOULD** be avoided!.
106
+
- Refrencing Issues by using special keywords like `Fixes` or `Resolves` will mark them as closed automatically! For more information about automatic issue closing using ketwords see their documentation(linked above).
107
+
- There is **NO** new-line after the `<footer>`.
108
+
- Every emoji text(`:emoji:`) is counted as one character!.
109
+
- See [ToDo Grammar StyleGuide](https://github.com/slashsBin/styleguide-todo-grammar) for more Information on `@XXX` Comment Tags.
0 commit comments