Wie man gute Commit-Meldungen schreibt

Wie man eine gute Git-Commit-Nachricht schreibt

In diesem Artikel beschreibt Chris Beams wie man eine gute Git-Commit-Nachricht formuliert: How to Write a Git Commit Message.

Er stellt dafür sieben Regeln auf:

  • Subject und Body mit einer Leerzeile trennen.
  • Subject auf 50 Zeichen beschränken.
  • Subject mit einem Großbuchstaben beginnen.
  • Subject nicht mit einem Punkt beenden.
  • Im Subject den Imperativ benutzen.
  • Den Body bei 72 Zeichen umbrechen.
  • Erklären was und warum geändert wurde und nicht wie.

Seit Markus mir den Artikel geschickt hat, versuche ich selbst, mich an die Empfehlung des Autors zu halten. Und ich denke, die Vorgabe ist gerade für junge Entwickler sehr hilfreich. Oftmals sehe ich nämlich Nachrichten im Log wie

Verschiedene Änderungen am Programm

oder

Refactoring

Besonders bitter ist es, wenn die letzten Commits alle dieselbe Nachricht enthalten. Da wusste der Programmierer wohl selbst nicht, was er eigentlich gemacht hat.

Das geht so lange gut, wie man die Historie nicht benötigt, um eine gewisse Änderung nachzuvollziehen. Dann wird es nämlich sehr schwer, die betreffenden Commits zu identifizieren.

Also meine klare Empfehlung an jeden Azubi: Gewöhn dir gleich an, sprechende und hilfreiche Commit-Messages zu formulieren, die beschreiben, warum etwas geändert wurde und nicht wie (denn dafür ist die Software da).


Wie formulierst du die Commit-Nachrichten in deinem Versionsverwaltungssystem? Gibt es Regeln, an die du dich hältst?

5 thoughts on “Wie man eine gute Git-Commit-Nachricht schreibt

  1. Wie ich Commit Messages schreibe, habe ich gerade erst hier beschrieben 😉

    TL;DR

    Im Prinzip halte ich mich dabei auch an das Schema wie im Artikel oben. Den selbst kannte ich, in diesem Artikel von Tim Poke ist aber ein ähnliches (sogar das gleiche?) Schema beschrieben.

    Schön ist auch der Lightning Talk zu dem Thema von Ryan McGeary.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax