Size: 4137
Comment: More about Conventional Commits, plus Emoji
|
Size: 6173
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
* feat or new ✨: New feature. Correlates to MINOR in Semantic Versioning. | * ✨ or ⭐ or 💎 feat or new: New feature. Correlates to MINOR in Semantic Versioning. |
Line 21: | Line 21: |
* fix 🐛: Bug fix. Correlates to PATCH in Semantic Versioning. | * 🐛 or 🐞 fix: Bug fix. Correlates to PATCH in Semantic Versioning. |
Line 23: | Line 23: |
* security 🔒: security-related fix * typo ✏️: extremely minor fix * perf ⚡: A code that improves performance. Sometimes a subset of refactor. * config ⚙️: Configuration change, e.g. modify a default. * i18n 🌐 or 💬: Internationalization/translation addition, fix. |
* 🔒 security: Security-related fix, i.e. important to highlight in changelog. * ⚡ perf: Change that improves performance. Sometimes a subset of refactor. * ⚙️ or 🛠️ conf: Configuration change, e.g. modify a default. * 🌐 or 💬 i18n or l10n: Internationalization, localization, or translation addition, fix. * ♿ a11y: Accessibility. * 🔊 log: Logging or printing-related added. |
Line 31: | Line 32: |
* initial 🎉: Initial commit of something, may not yet work. * revert ⏪: revert of previous behavior, fix, or feature * test ✅ or 🚨: Adding new test or making changes to existing test |
* 🎉 initial: Initial commit of something, may not yet work. * ⏪ revert : Revert of previous behavior, fix, or feature * ✅ or 🚨 or 🧪: test: Adding new test or making changes to existing test |
Line 35: | Line 36: |
* upgrade 🔗: upgrade an external dependency * deps 🔗: Add, upgrade, or anything to do with an external dependency. |
* 🔗 deps: Add, upgrade, or anything to do with an external dependency. * 🔀 merge: Merge from another branch. * 🚧 wip: Work-in-progress. |
Line 40: | Line 42: |
* chore 🔧: Code change that external user won't see (e.g. change to .gitignore file) | * 🔧 chore: Code change that external user won't see and does not impact a feature (e.g. change to .gitignore file) |
Line 42: | Line 44: |
* ci 👷: CI-related change, subset of chore. * ci 💚: Fix CI * build 📦: Build related changes (e.g. cmake, Broccoli, grunt). Subset of chore. * deploy or release 🚀: New version, snapshot, or deploy. |
* 👷 ci: CI-related change, subset of chore. * 💚 ci : Fix CI * 📦 build: Build related changes (e.g. cmake, Broccoli, grunt). Subset of chore. * 🚀 deploy or release: New version, snapshot, or deploy. |
Line 49: | Line 51: |
* refactor ♻️: A code that neither fix bug nor adds a feature. (e.g. semantic changes like renaming a variable/ function name) | * ♻️ or 🔨 or 🛠️ refactor: A code that neither fix bug nor adds a feature. (e.g. semantic changes like renaming a variable/ function name) |
Line 51: | Line 53: |
* docs 📚: Documentation related changes. Subset of refactor. | * ✏️ comments: Internal documentation not otherwise exported, e.g. comments. Subset of refactor. * 📚 docs: External documentation. Includes API documentation (docstrings, doxygen). Subset of refactor. |
Line 53: | Line 56: |
* style 🎨: Code change related to styling, like improving structure or formatting. Subset of refactor. | * 🎨 style: Style change, like improving structure or formatting. Subset of refactor. |
Line 56: | Line 59: |
* rename 🚚: Move files. Subset of refactor. * remove 🗑: Remove deprecated code no longer used. |
* 🚚 rename: Move files. Subset of refactor. * 🗑 remove: Remove deprecated code no longer used. Keep as a separate commit to make it easy to revert. Subset of refactor. * 👕 lint: linting, typing, casting fix. Subset of refactor. Other: * 👌 review: Change from code review. * 📈 or 📡 telemetry, analytics, metrics, or logging * ➖ removal * ➕ addition * 🔖 bookmark, tag * 📖 metadata * 📇 metadata or index * 💡 idea, comment, etc * 🚑 or 🔥 hotfix * 💩 shitcode, needs refactor * 💥 breaking-change * 👥 contributor or sponsor update * 🍒 cherry-pick'ed commit * ☸️ k8s * 🐋 docker or container * ✅ Add but not ❌ Added * ✅ Fix but not ❌ Fixed * ➔ right-pointing arrow |
Line 70: | Line 95: |
* 70c or less | * 50c soft limit, 70c hard limit |
Line 73: | Line 98: |
* Finish this sentence: If applied, this commit will ${subject} | |
Line 76: | Line 102: |
* Focus on WHY and WHAT, not on HOW. | |
Line 84: | Line 111: |
* `Fix #${BUG_NO}`, e.g. `Fix #123` if the commit closes an issue in your issue tracker. | |
Line 85: | Line 113: |
* Signed-off-by, Acked-by, Cc, Reported-by, Tested-by, Reviewed-by as described by [[https://gerrit-review.googlesource.com/Documentation/user-signedoffby.html|Gerrit]], based on [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/SubmittingPatches|Linux' SubmittingPatches guide]]. * See-also: |
|
Line 93: | Line 123: |
* Emoji was taken from [[https://github.com/folke/devmoji|folke/devmoji]] and | * Emoji was taken from [[https://github.com/folke/devmoji|folke/devmoji]] and [[https://gitmoji.dev/|gitmoji.dev]] * [[https://chris.beams.io/posts/git-commit/|How to Write a Git Commit Message]] |
Line 97: | Line 128: |
* [[https://github.com/eslint/eslint/commits/master|eslint commit history]] and [[https://gitmoji.dev/gitmoji.dev]] | * [[https://github.com/eslint/eslint/commits/master|eslint commit history]] * [[https://github.com/torvalds/linux/commits/master|torvalds/linux]] * [[https://github.com/git/git/commits/master|git/git]] * [[https://github.com/tpope/vim-pathogen/commits/master|tpope/vim-pathogen]] |
Line 110: | Line 144: |
== GitLab == * [[https://docs.gitlab.com/ee/user/markdown.html|GitLab Flavored Markdown]] * [[https://mermaid-js.github.io/mermaid/#/flowchart|Mermaid flowcharting]] |
Git Commit Message conventions for AngularJS
Conventional Commits format
<type>(<scope>): <subject> <body> <footer>
Where:
<type> is one of:
External-facing stuff, important to publish to users.
- ✨ or ⭐ or 💎 feat or new: New feature. Correlates to MINOR in Semantic Versioning.
- feat: add beta sequence
- 🐛 or 🐞 fix: Bug fix. Correlates to PATCH in Semantic Versioning.
- fix: remove broken confirmation message
- 🔒 security: Security-related fix, i.e. important to highlight in changelog.
- ⚡ perf: Change that improves performance. Sometimes a subset of refactor.
- ⚙️ or 🛠️ conf: Configuration change, e.g. modify a default.
- 🌐 or 💬 i18n or l10n: Internationalization, localization, or translation addition, fix.
- ♿ a11y: Accessibility.
- 🔊 log: Logging or printing-related added.
Internal repository-related:
- 🎉 initial: Initial commit of something, may not yet work.
- ⏪ revert : Revert of previous behavior, fix, or feature
- ✅ or 🚨 or 🧪: test: Adding new test or making changes to existing test
- test: ensure Tayne retains clothing
- 🔗 deps: Add, upgrade, or anything to do with an external dependency.
- 🔀 merge: Merge from another branch.
- 🚧 wip: Work-in-progress.
Internal changes, not user-facing.
- 🔧 chore: Code change that external user won't see and does not impact a feature (e.g. change to .gitignore file)
- chore: add Oyster build script
- 👷 ci: CI-related change, subset of chore.
- 💚 ci : Fix CI
- 📦 build: Build related changes (e.g. cmake, Broccoli, grunt). Subset of chore.
- 🚀 deploy or release: New version, snapshot, or deploy.
Refactor-related, i.e. does not add new features.
- ♻️ or 🔨 or 🛠️ refactor: A code that neither fix bug nor adds a feature. (e.g. semantic changes like renaming a variable/ function name)
- refactor: share logic between component1 and component2
- ✏️ comments: Internal documentation not otherwise exported, e.g. comments. Subset of refactor.
- 📚 docs: External documentation. Includes API documentation (docstrings, doxygen). Subset of refactor.
- docs: explain hat wobble
- 🎨 style: Style change, like improving structure or formatting. Subset of refactor.
- style: convert tabs to spaces
- style: format w/ black
- 🚚 rename: Move files. Subset of refactor.
- 🗑 remove: Remove deprecated code no longer used. Keep as a separate commit to make it easy to revert. Subset of refactor.
- 👕 lint: linting, typing, casting fix. Subset of refactor.
Other:
- 👌 review: Change from code review.
- 📈 or 📡 telemetry, analytics, metrics, or logging
- ➖ removal
- ➕ addition
- 🔖 bookmark, tag
- 📖 metadata
- 📇 metadata or index
- 💡 idea, comment, etc
- 🚑 or 🔥 hotfix
- 💩 shitcode, needs refactor
- 💥 breaking-change
- 👥 contributor or sponsor update
- 🍒 cherry-pick'ed commit
- ☸️ k8s
- 🐋 docker or container
- ✅ Add but not ❌ Added
- ✅ Fix but not ❌ Fixed
- ➔ right-pointing arrow
<scope> refers to the module or component. Examples:
- init
- runner
- watcher
- config
- web-server
- proxy
<subject> is the first line of the commit message, and:
- 50c soft limit, 70c hard limit
- Uses imperative, present tense. "add" vs "adds" or "added", "fix" vs "fixes" or "fixed".
- Do not end with period
- Finish this sentence: If applied, this commit will ${subject}
<body> should:
- Focus on WHY and WHAT, not on HOW.
- Includes motivation for the change, and contrasts previous behavior/implementation vs new behavior/implementation
- Describe what the commit will do, not what you did.
- Wrap at 72c.
<footer> should:
Be one per line, and follow the git trailer format. That is, each line is a key–value pair, separated by either :<space> or <space>#.
Closes #${BUG_NO}, e.g. Closes #123 if the commit closes an issue in your issue tracker.
Fix #${BUG_NO}, e.g. Fix #123 if the commit closes an issue in your issue tracker.
BREAKING-CHANGE: ${description} to describe this commit breaks previous behavior/interface.
Signed-off-by, Acked-by, Cc, Reported-by, Tested-by, Reviewed-by as described by Gerrit, based on Linux' SubmittingPatches guide.
- See-also:
See also:
Emoji was taken from folke/devmoji and gitmoji.dev
Good examples:
Semantic Branch Names
https://gist.github.com/seunggabi/87f8c722d35cd07deb3f649d45a31082
- feature/: New feature
- bugfix/: Bug fix
- docs/: Documentation change
- style/: Style change
- refactor/: Refactor
- test/: Adding tests, refactoring tests, etc.
- chore:/ Chore