Differences between revisions 2 and 3
Revision 2 as of 2021-04-09 01:51:07
Size: 4137
Editor: SamatJain
Comment: More about Conventional Commits, plus Emoji
Revision 3 as of 2021-04-09 03:28:50
Size: 4220
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.  * ✨ feat or new: New feature. Correlates to MINOR in Semantic Versioning.
Line 21: Line 21:
 * fix 🐛: Bug fix. Correlates to PATCH in Semantic Versioning.  * 🐛 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
 * ✏️ typo : extremely minor fix
 *
 perf: A code that improves performance. Sometimes a subset of refactor.
 * ⚙️ config : Configuration change, e.g. modify a default.
 * 🌐 or 💬 i18n: Internationalization/translation addition, fix.
Line 31: Line 31:
 * 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 🚨: test: Adding new test or making changes to existing test
Line 35: Line 35:
 * upgrade 🔗: upgrade an external dependency
 * deps 🔗: Add, upgrade, or anything to do with an external dependency.
 * 🔗 upgrade: upgrade an external dependency
 * 🔗 deps: Add, upgrade, or anything to do with an external dependency.
Line 40: Line 40:
 * chore 🔧: Code change that external user won't see (e.g. change to .gitignore file)  * 🔧 chore: Code change that external user won't see (e.g. change to .gitignore file)
Line 42: Line 42:
 * 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 49:
 * refactor ♻️: A code that neither fix bug nor adds a feature. (e.g. semantic changes like renaming a variable/ function name)  * ♻️ refactor: A code that neither fix bug nor adds a feature. (e.g. semantic changes like renaming a variable/ function name)
Line 51: Line 51:
 * docs 📚: Documentation related changes. Subset of refactor.  * 📝 comments: Internal documentation, e.g. comments. Subset of refactor.
 * 📚
docs: Documentation related changes. Subset of refactor.
Line 53: Line 54:
 * style 🎨: Code change related to styling, like improving structure or formatting. Subset of refactor.  * 🎨 style: Code change related to styling, like improving structure or formatting. Subset of refactor.
Line 56: Line 57:
 * 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.

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.

  • ✨ feat or new: New feature. Correlates to MINOR in Semantic Versioning.
    • feat: add beta sequence
  • 🐛 fix: Bug fix. Correlates to PATCH in Semantic Versioning.
    • fix: remove broken confirmation message
  • 🔒 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.
  • 🌐 or 💬 i18n: Internationalization/translation addition, fix.

Internal repository-related:

  • 🎉 initial: Initial commit of something, may not yet work.
  • ⏪ revert : revert of previous behavior, fix, or feature
  • ✅ or 🚨: test: Adding new test or making changes to existing test
    • test: ensure Tayne retains clothing
  • 🔗 upgrade: upgrade an external dependency
  • 🔗 deps: Add, upgrade, or anything to do with an external dependency.

Internal changes, not user-facing.

  • 🔧 chore: Code change that external user won't see (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.

  • ♻️ 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, e.g. comments. Subset of refactor.
  • 📚 docs: Documentation related changes. Subset of refactor.
    • docs: explain hat wobble
  • 🎨 style: Code change related to styling, 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.

<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:

  • 70c or less
  • Uses imperative, present tense. "add" vs "adds" or "added", "fix" vs "fixes" or "fixed".
  • Do not end with period

<body> should:

  • 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.

  • BREAKING-CHANGE: ${description} to describe this commit breaks previous behavior/interface.

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

SamatsWiki: CodingStyle/Git (last edited 2022-09-08 20:04:59 by SamatJain)