Differences between revisions 2 and 12 (spanning 10 versions)
Revision 2 as of 2021-04-09 01:51:07
Size: 4137
Editor: SamatJain
Comment: More about Conventional Commits, plus Emoji
Revision 12 as of 2021-04-09 10:23:01
Size: 6173
Editor: SamatJain
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:

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

GitLab

SamatsWiki: CodingStyle/Git (last edited 2024-08-11 23:15:11 by SamatJain)