50/72 Rule
Details
- Full Name
-
50/72 Rule for Git Commit Messages
- Auch bekannt als
-
Git Commit Message Convention, Seven Rules of Git Commits
Kernkonzepte:
- 50-Zeichen-Betreffzeile
-
Die Betreffzeile sollte etwa 50 Zeichen lang sein — ein weiches Limit, das den Autor zwingt, die Änderung präzise zu benennen. GitHub kürzt nach 72 Zeichen ab;
git log --onelinenoch früher. 50 Zeichen als Ziel, 72 als harte Obergrenze. - Imperativform
-
Schreibe die Betreffzeile im Imperativ: „Fix bug" statt „Fixed bug" oder „Fixes bug." Das spiegelt die eigene Konvention von Git wider —
git mergeerzeugt „Merge branch…",git reverterzeugt „Revert…". - Leerzeile als Trenner
-
Trenne die Betreffzeile vom Textkörper durch eine Leerzeile. Git-Werkzeuge —
rebase,format-patch,log --oneline— verlassen sich auf diesen Trenner, um Zusammenfassung und Erklärung zu unterscheiden. Ohne die Leerzeile geraten diese Werkzeuge durcheinander. - Zeilenumbruch bei 72 Zeichen
-
Brich den Textkörper bei 72 Zeichen um. Mit Gits 4-Leerzeichen-Einrückung passt eine 72-Zeichen-Zeile in ein 80-Spalten-Terminal. Dasselbe Limit macht die Nachricht als E-Mail-Patch via
git format-patchverwendbar. - Textkörper erklärt das Warum
-
Der Code-Diff zeigt bereits, was sich geändert hat. Der Commit-Text erklärt die Entscheidung — Kontext, Abwägungen, Hintergrund. Das Wie gehört in Quellkommentare; das Warum gehört in den Commit.
- Schlüsselvertreter
-
Tim Pope ("A Note About Git Commit Messages", tbaggery.com, 2008 — hat die Regel geprägt und verbreitet); Chris Beams ("How to Write a Git Commit Message", cbea.ms — hat sie als „Seven Rules" kodifiziert)
Wann zu verwenden:
-
Beim Schreiben von Commit-Nachrichten in jedem Git-Repository
-
Bei der Konfiguration von
commit.templateoder Linting-Hooks (commitlint,.gitmessage) -
Im Code-Review: Prüfen, ob eine Commit-Nachricht Reviewern und zukünftigen
git bisect-Nutzern genug Kontext bietet -
Beim Anweisen eines LLM zur Erzeugung einer Commit-Nachricht — die Nennung „50/72 Rule" aktiviert die vollständige Konvention, ohne jede Einzelregel wiederholen zu müssen
Verwandte Anker:
-
Plain English (Strunk & White) — dieselbe Sprachökonomie, angewandt auf Prosa
-
BLUF — das Wichtigste zuerst (Betreffzeile), Details im Textkörper
-
Inverted Pyramid Style — Wichtigstes zuerst, unterstützende Details folgen
Aktueller Status:
-
Der Artikel "How to Write a Git Commit Message" von Chris Beams ist die am häufigsten verlinkte Ausarbeitung von Tim Popes Originalpost; er ergänzt Großschreibung, kein abschließender Punkt und die formale Regel „Warum erklären, nicht Wie"
-
Conventional Commits fügt ein
type(scope):-Präfix hinzu, das direkt in das 50-Zeichen-Budget eingreift; Thirstybear (2025) argumentiert, dass diese Metadaten in Commit-Trailer gehören, nicht in die Betreffzeile, und verteidigt das 50-Zeichen-Limit mit typografischen Gründen — unter Verweis auf die Empfehlung des Schweizer Designers Emil Ruder von 50–60 Zeichen pro Zeile als Lesbarkeitsoptimum