Die Beschreibung zur Konvention von Commit-Nachrichten fasst die wichtigsten Punkte zur Standardisierung von Commit-Messages zusammen, um eine klare und strukturierte Versionskontrolle zu gewährleisten. Hier die wichtigsten Aspekte:
Struktur eines Commit-Messages: Standardform: (): Leerzeile Optionaler Body Leerzeile Optionaler Footer
Commit-Typen: feat: Fügt eine neue Funktion hinzu oder entfernt eine bestehende. fix: Behebt einen Fehler. refactor: Strukturelle Änderungen am Code, die keine Änderung des API-Verhaltens bewirken. perf: Verbesserungen der Leistung (spezielle Refactor-Commits). style: Änderungen, die keinen Einfluss auf die Funktionalität haben (z. B. Formatierungen). test: Fügt fehlende Tests hinzu oder korrigiert bestehende Tests. docs: Änderungen, die nur die Dokumentation betreffen. build: Änderungen, die das Build-System, CI-Pipeline, Abhängigkeiten oder Versionierung betreffen. ops: Änderungen, die betriebliche Komponenten wie Infrastruktur, Deployment, Backup betreffen. chore: Sonstige Aufgaben, z. B. das Anpassen von .gitignore. Scopes: Scopes sind optional und geben zusätzlichen Kontext zu den Änderungen an. Sie sollten projektabhängig gewählt werden und keine Issue-IDs enthalten.
Breaking Changes: Markiert durch ein ! vor dem : in der Betreffzeile, z. B. feat(api)!: remove status endpoint. Kann im Footer detailliert beschrieben werden. Description: Kurze, prägnante Beschreibung der Änderung. In imperativer Präsensform geschrieben, ohne ersten Großbuchstaben und ohne Punkt am Ende.
Body: Optionaler Teil, der die Motivation und den Hintergrund der Änderung beschreibt. Hier können auch Issue-IDs und deren Verknüpfungen genannt werden. Footer: Enthält Informationen zu Breaking Changes und Referenzen zu Issues. Breaking Changes beginnen mit BREAKING CHANGES: gefolgt von einer Beschreibung. Beispiele: feat: add email notifications on new direct messages fix(api): handle empty message in request body perf: decrease memory footprint for unique visitors using HyperLogLog Weitere Hinweise: Die Konventionen helfen dabei, eine einheitliche und maschinenlesbare Commit-Historie zu erstellen. Git Hook Scripts können verwendet werden, um die Einhaltung dieser Konventionen sicherzustellen. Nutzen: Diese Konventionen fördern eine klare Kommunikation von Änderungen, erleichtern die Verwaltung von Versionen und automatisieren die Generierung von Changelogs.