Git Commit Message Regeln

Lange Zeit war mir das auch nicht klar, dass es Regeln für Git Commit Messages gibt. Wie sinnvoll die Regeln sind erschließt sich spätestens dann wenn man in größeren Teams arbeitet. Diese 7 Regeln möchte ich euch hier kurz erklären. Die Regel hat der Softwareentwickler Chris Beams vor einiger Zeit erstellt und auf seinem Blog veröffentlicht. https://chris.beams.io/posts/git-commit/

  • Ausgehend davon, dass gut geschriebene Commit Nachrichten der beste Weg ist, um Kollegen (aber auch sich selbst) den Kontext einer Änderung mitzuteilen. Der Code bzw. ein git diff wird dir zeigen, was sich genau geändert hat, aber eine Commit Nachricht wird dir sagen warum sich das geändert hat.
  • Trennen Sie den Betreff vom Text mit einer Leerzeile
  • Begrenzen Sie die Betreffzeile auf 50 Zeichen
  • Starten Sie Betreffzeilen immer mit einem Großbuchstaben
  • Beenden Sie die Betreffzeile nie mit einem Punkt
  • Verwenden Sie den Imperativ in der Betreffzeile und nicht die Vergangenheitsform
  • Umfassen Sie den Textkörper mit 72 Zeichen
  • Erklären Sie im Textkörper das Was und Warum, nicht das Wie

<type>[optional scope]<description>

feat(IAD-123): Add type for something.

<type>
Die zwei gängigsten Typen wären fix und feat. Aber es gibt noch weitere:

  • fix (Nutzt du beim Bugfixing) |
  • feat(nutzt du bei code features)
  • build
  • docks
  • style
  • refactor
  • test
  • chore
  • ci

[optional scope]
Sind zusätzliche Infos wie zum Beispiel eine Ticketnummern oder ähnliches.


<description>
Hier schreibst Du eine kurze Nachricht rein. Nachrichten können sich zusammensetzen aus Betreff, Body, Fußnot. In den meisten Fällen genügt eine Betreffzeile. Im Optionalen Body schreibst Du dann ausführlich deine Änderungen rein und vor allem warum du diese gemacht hast. In der Fußnote kannst Du Tickets mit Hashtags angeben um dem Leser mehr Backgroundinformationen zu liefern.

Eine kleine Eselsbrücke für den Anfang: Du fängst den Commitsatz imaginär an: Dieser Commit möchte update readme file with new thinks.


Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


Git Pull Request enthält fremde Commits

April 2, 2021

Vielleicht ist das euch auch schon mal passiert. Mir jedenfalls passiert das immer mal wieder mal. Ich checke in ein Branch ein um zum Beispiel ein Code Review vorzunehmen. Nachdem ich fertig bin, schnappe ich mir ein Ticket und eröffne einen neuen Feature Branche. Der eine oder andere ahnt bestimmt schon, worauf ich hinaus will? […]

HTML Boilerplate / Scaffold / Vorlage

February 13, 2021

Um schnell mal etwas auszuprobieren, kann es sein das man ein HTML Grundgerüst benötigt. Vielleicht geht es euch ähnlich wie mir. Ich bin faul uns suche dann im anderen Projekten schnell das Gerüst. Was aber immer mit nicht ganz ohne Aufwendung dann einzufügen ist. Man muss hier und dort noch was löschen bzw. korrigieren. Aus […]

Docker auf Ubuntu 18.04 installieren

February 13, 2021

Docker auf einem frischen Ubunto 18.04 installieren geht in wenigen Schritten. Mit frischem meine ich ein System wo noch keine ältere Dockerversion vorher lief. Wir holen jetzt paar Pakete die wir für die Docker Installation brauchen rein. Nun fügen wir den GPG Key/Schlüssel für das offizielle Docker Repository hinzu. (ist ein freies Kryptographiesystem) Jetzt fügen […]

Git – Neuen Branch verwerfen / löschen

February 10, 2021

Es kommt vor, dass man ein Feature für ein Projekt entwickeln soll und man zuerst ausprobiert was so geht. Ihr arbeitet an einem Remote Repository und entwickelt lokal. Dann schnell mal ein composer update und die composer.lock ist geändert. Ihr wollt am liebsten den ganzen Branch verwerfen und zum Step zurück wo ihr angefangen habt. […]

Tailwind CSS – Ein kurzer Einstieg

January 8, 2021

Seit Jahren nutze ich Bootstrap. Ich dachte nicht mal im Traum dran, dass es etwas Besseres im Punkto Websitedesign geben wird. Es ist einfach, praktisch und man kann relative schnell ansprechende bzw. aufgeräumtes Designs umsetzen. Allerdings hatte Bootstrap für mich immer einen bitteren Beigeschmack. Ein Gedanke den ich nie zulassen wollte. Und zwar: Bootstrap sieht […]

Alpine.js – Ein kurzer Einstieg

January 2, 2021

Nicht alle Webprojekte müssen zwangsläufig darauf hinauslaufen sie mit Javascript Frameworks wie Vue JS, React oder Angular umzusetzen. In den Jahren 2015 bis 2020 war das schon ein spürbarer Trend. Man betrachtet nicht mehr den Overhead von Frameworks bei kleinen Projekten sondern wie schnell man ohne lange Nachzudenken Projekte bauen kann. Allerdings fällt dieser Ansatz […]