Conventional Commits ist eine Spezifikation, die Commit-Nachrichten menschen- und maschinenlesbare Bedeutung gibt; Schlüsselvertreter sind Benjamin E. Coe, James J. Womack und Steve Mao. Jede Nachricht folgt dem Schema Typ, optionaler Scope und Beschreibung, mit Typen wie feat, fix, docs oder refactor sowie einem Ausrufezeichen oder einem BREAKING-CHANGE-Footer für Breaking Changes. Die Nachrichten bestimmen den semantischen Versions-Bump, feat einen Minor-, fix einen Patch- und ein Breaking Change einen Major-Bump, und teilen Teamkollegen und anderen Stakeholdern mit, welche Art von Änderung gelandet ist.

Conventional Commits

Details

Kernkonzepte:

  • Eine Spezifikation zum Hinzufügen von menschen- und maschinenlesbarer Bedeutung zu Commit-Nachrichten

  • Bestimmung eines semantischen Versions-Bumps (basierend auf den Arten von gelandeten Commits)

  • Kommunikation der Art von Änderungen an Teamkollegen, die Öffentlichkeit und andere Stakeholder

    Schema

    <type>[!][(optional scope)]: <description> + optionaler Body/Footer

    Häufige Typen
  • feat: - neue Funktion in die Codebase einführen (→ Semver Minor)

  • fix: - einen Bug in Ihrer Codebase beheben (→ SemVer Patch)

  • docs: - Dokumentationsverbesserungen an der Codebase

  • chore: - Codebase/Repository-Wartungsänderungen

  • style: - Formatierungsänderungen, die die Bedeutung des Codes nicht beeinflussen

  • refactor: - Implementierungsänderungen, die die Bedeutung des Codes nicht beeinflussen

  • ! - BREAKING CHANGE (→ SemVer Major)

  • BREAKING CHANGE: führt eine Breaking API-Änderung ein

    Schlüsselvertreter

    Benjamin E. Coe, James J. Womack, Steve Mao

Wann zu verwenden:

  • Everything-as-Code-Paradigma angestrebt

  • Team-/Community-Kommunikation

  • Repository-Qualitätsverbesserungen