Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Commit-Nachrichten, aus denen das Projekt ein Changelog bauen kann

Das Format der Commit-Nachrichten von Exponential - Added, Updated, Fixed, Removed, Renamed - warum es existiert, wie der commit-msg-Hook des Kernels es prüft und wie Sie einen Betreff und einen Text schreiben, die…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-5-extend-fork-contribute/commit-messages.md

On this page

This page is a translation. Read the English original

Commit-Nachrichten, aus denen das Projekt ein Changelog bauen kann

Teil 5, Kapitel 11. Eine Commit-Nachricht wird einmal geschrieben und oft gelesen: in Reviews, in git log, in git blame Jahre später und im Changelog des nächsten Releases. Exponential verwendet ein einfaches Format, das all das möglich macht. Verwenden Sie es im Kernel (dort wird es geprüft) und in Ihren eigenen Erweiterungen.

Das Format

Der Betreff beginnt mit einem von fünf Wörtern und einem Doppelpunkt:

PräfixFür
Added: etwas Neues: eine Funktion, eine Datei, eine Klasse, eine Einstellung, eine Seite
Updated: geändertes oder verbessertes Verhalten, Templates, Texte, Einstellungen
Fixed: ein behobener Fehler
Removed: etwas Gelöschtes: eine Funktion, eine Datei, eine Abhängigkeit
Renamed: eine umbenannte Datei, Klasse, Einstellung oder View

Der Rest des Betreffs ist ein Satz, der sagt, was nach dem Commit zutrifft:

Fixed: The redirect keeps the query string on the own host
Updated: The context menu entries of expchangeclass carry no inline handlers
Added: German translation of the sign-in and setup texts

Das Beispiel für einen Fixed:-Betreff ist dasjenige, das CONTRIBUTING.md angibt.

Warum dieses Format

  • Das Changelog schreibt sich von selbst. Beim Release werden die Commits seit dem letzten Tag nach ihrem ersten Wort in die vier oder fünf Gruppen eines Changelogs sortiert (Changelogs).
  • Reviewer wissen, was sie erwartet. Ein Fixed:-Commit sollte keine Funktionen hinzufügen; ein Renamed:-Commit sollte kein Verhalten ändern.
  • Es hält Commits klein. Wenn ein Betreff ein „und“ zwischen zwei Präfixen braucht, sind es zwei Commits.

Der Kernel prüft es

Das Kernel-Repository liefert Git-Hooks in .githooks/ mit. Führen Sie in Ihrem Klon einmal aus:

make hooks

Von da an lehnt git commit einen Betreff ohne eines der fünf Präfixe ab:

commit-msg: the subject must start with 'Added: ', 'Updated: ', 'Fixed: ', 'Removed: ' or 'Renamed: ', e.g.
    Fixed: The redirect keeps the query string on the own host

Merge-Commits und die von Git erzeugten Betreffs Revert, fixup! und squash! sind erlaubt. Die CI prüft die Commits eines Pushs oder Pull Requests mit .githooks/check-commit-range (Qualitätsprüfungen, auf Englisch); laut dieser Seite führt der Commit eines Beitragenden dort nur zu einer Warnung.

Sie können den commit-msg-Hook in das Repository Ihrer Erweiterung kopieren: Es ist ein kurzes Shell-Skript.

Der Text

Nach einer Leerzeile erklärt der Text, was der Betreff nicht kann: warum die Änderung nötig war, was vorher falsch war und wie sie geprüft wurde. Echte Beispiele aus den Erweiterungen, die dieses Buch anführt:

Updated: Version 1.0.6: installs and runs on PHP 8.0, the oldest PHP Exponential 6 supports

PHP 8.0 is the stock PHP of Red Hat Enterprise Linux 9 and the oldest version Exponential 6 supports. The code of
this extension was checked with PHPCompatibility for PHP 8.0, linted and loaded with PHP 8.0.30, and served by
PHP 8.0 on a full installation.

(se7enxweb/expchangeclass, Commit 32196f0.) Der Text nennt den Grund, die Prüfungen und das Ergebnis. Wer ihn in fünf Jahren liest, weiß, ob er der Änderung trauen kann.

Gute und schlechte Betreffs

SchlechtBesser
fixFixed: The batch script stops when no object of a batch converts
Updated stuffUpdated: The result boxes use the shared admin notice instead of style attributes
Fixed: bug #12Fixed: The parameter file shown after a conversion is escaped (und „Closes #12“ im Text)
Added: tests and fixed the menu and new translationsdrei Commits
WIPnicht pushen; oder vor dem Pull Request zusammenführen (squash)

Was nicht in eine Commit-Nachricht gehört

  • Geheimnisse, Passwörter, personenbezogene Daten: Ein Commit ist öffentlich, sobald er gepusht ist, und lässt sich nicht zurücknehmen.
  • Private Pfade Ihres Rechners oder Namen interner Server.
  • Nennungen von Werkzeugen, mit denen Sie die Änderung geschrieben haben. Der Autor des Commits ist die Person, die dafür verantwortlich ist.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x