Commits Guideline - ricardotimmr/praxisprojekt-2025-varia GitHub Wiki

Commit-Konvention

Typen

API-relevante Änderungen

  • feat: Commits, die ein neues Feature hinzufügen oder entfernen
  • fix: Commits, die einen Fehler beheben

Code-Umstrukturierung

  • refactor: Commits, die den Code umstrukturieren oder neu schreiben, ohne das API-Verhalten zu ändern
  • perf: Spezielle refactor-Commits, die die Performance verbessern

Sonstige Typen

  • style: Commits, die keine inhaltlichen Änderungen verursachen (z. B. Formatierung, Leerzeichen, Semikolons)
  • test: Commits, die Tests hinzufügen oder bestehende Tests korrigieren
  • docs: Commits, die ausschließlich die Dokumentation betreffen
  • build: Commits, die das Build-System betreffen (z. B. Build-Tools, CI/CD, Abhängigkeiten, Versionierung)
  • ops: Commits, die operative Komponenten wie Infrastruktur, Deployment, Backup oder Recovery betreffen
  • chore: Sonstige Aufgaben, z. B. Änderungen an .gitignore oder an Konfigurationsdateien

Scopes (Geltungsbereiche)

  • Der scope gibt zusätzlichen Kontext zur Änderung.
  • Ist ein optionaler Bestandteil des Formats.
  • Gültige Scopes sind projektspezifisch festzulegen.
  • Keine Verwendung von Issue-IDs als Scope.

Beispiel:
feat(ui): implementiere dark-mode-toggle

Breaking Changes

Breaking Changes sollten durch ein Ausrufezeichen ! vor dem Doppelpunkt gekennzeichnet werden:

Beispiel:
feat(api)!: entferne status-endpunkt

Dies ist ein optionaler Bestandteil des Formats.

Beschreibung (description)

  • Ist ein verpflichtender Bestandteil des Commit-Formats
  • Verwendung des Imperativs im Präsens:
    – korrekt: „füge hinzu“
    – nicht korrekt: „hinzugefügt“, „fügt hinzu“
  • Keine Großschreibung am Anfang
  • Kein Punkt am Ende

Beispiel:
fix(auth): behebe token-ablauf bei inaktivität

Body (optional)

  • Erläutert die Motivation für die Änderung
  • Vergleicht vorheriges und aktuelles Verhalten
  • Ebenfalls im Imperativ Präsens formuliert
  • Hier können Issue-IDs erwähnt werden (z. B. #42)

Footer (optional)

  • Enthält zusätzliche Hinweise oder Referenzen
  • Breaking Changes werden hier ausführlich dokumentiert

Beispiel für Breaking Changes im Footer: