bg_image
header

Conventional Commits

Conventional Commits are a simple standard for commit messages in Git that propose a consistent format for all commits. This consistency facilitates automation tasks such as version control, changelog generation, and tracking changes.

The format of Conventional Commits follows a structured pattern, typically as:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Components of a Conventional Commit:

  1. Type (Required): Describes the type of change in the commit. Standard types include:

    • feat: A new feature or functionality.
    • fix: A bug fix.
    • docs: Documentation changes.
    • style: Code style changes (e.g., formatting) that don't affect the logic.
    • refactor: Code changes that neither fix a bug nor add features but improve the code.
    • test: Adding or modifying tests.
    • chore: Changes to the build process or auxiliary tools that don't affect the source code.
  2. Scope (Optional): Describes the section of the code or application affected, such as a module or component.

    • Example: fix(auth): corrected password hashing algorithm
  3. Description (Required): A short, concise description of the change, written in the imperative form (e.g., “add feature” instead of “added feature”).

  4. Body (Optional): A more detailed description of the change, providing additional context or technical details.

  5. Footer (Optional): Used for notes about breaking changes or references to issues or tickets.

    • Example: BREAKING CHANGE: remove deprecated authentication method

Example of a Conventional Commit message:

feat(parser): add ability to parse arrays

The parser now supports parsing arrays into lists.
This allows arrays to be passed as arguments to methods.

BREAKING CHANGE: Arrays are now parsed differently

Benefits of Conventional Commits:

  • Consistency: A uniform format for commit messages makes the project history easier to understand.
  • Automation: Tools can automatically generate versions, create changelogs, and even release builds based on commit messages.
  • Traceability: It becomes easier to track the purpose of a change, especially for bug fixes or new features.

Conventional Commits are especially helpful in projects using SemVer (Semantic Versioning) because they enable automatic versioning based on commit types.

 

 

 


Random Tech

Apache HTTP Server


apache_server.jpg