So machen Sie Ihre Commit-Nachrichten großartig und halten Ihr Team bei Laune

Commit-Nachrichten sind wichtige Kommunikationsmittel zwischen Teammitgliedern

Bei der Entwicklung von Teamsoftware ist die Kommunikation am wichtigsten. Commit-Nachrichten sind wichtige Kommunikationsmittel zwischen Teammitgliedern: ihre Vergangenheit und ihre Zukunft.

Bei der Analyse des Codes oder beim Debuggen haben wir alle Fragen wie:

  • Warum ist das wenn hier?
  • Wer hat vergessen, den Zweig zu aktualisieren?
  • Welche Auswirkungen hatte diese Änderung?
  • Wie kann diese Änderung jemals den Code reparieren oder verbessern?

Zu diesem Zweck können wir mit git-tad herausfinden, welche Revision die Datei zuletzt geändert hat. Aber nur zu wissen, dass das nicht gut genug ist. Es wäre hilfreich, die Commit-Nachricht tatsächlich zu lesen, um zu verstehen, was dort wirklich passiert ist.

Wir müssen die Nachricht lesen, um den wahren Wert einer guten Commit-Nachricht zu erfahren, und motiviert sein, sie zu schreiben.

Einige Best Practices

Wenn der Großteil Ihrer Git-Commits bisher mit so etwas wie erstellt git commit -m "9000 — Bug fixes issue"wurde, versuchen Sie es beim nächsten Mal mit dieser Richtlinie:

Verwenden Sie niemals das o git-Commit.-m sg> / --message=gt; flag t

Es gibt Ihnen sofort eine schlechte Einstellung, da Sie das Gefühl haben, dass Sie Ihre Commit-Nachricht in den Terminal-Befehl einfügen müssen, und das Commit eher wie ein einmaliges Argument als wie eine Seite im Verlauf wirkt.

Die erste Zeile sollte immer 50 Zeichen oder weniger enthalten und es sollte eine leere Zeile folgen.

Schreiben Sie eine Imperativform: "Fehler beheben". [ Hinzufügen | Fixieren | Entfernen | Update | Refactor ] Eine konsistente Formulierung erleichtert die mentale Verarbeitung einer Liste von Commits.

Längere Beschreibung mit 72 Zeichen.

Oft reicht ein Thema für sich aus.Wenn dies nicht der Fall ist, fügen Sie eine leere Zeile hinzu (dies ist wichtig), gefolgt von einem oder mehreren Absätzen, die fest mit 72 Zeichen umbrochen sind.

Diese Absätze sollten erklären:

Warum ist diese Änderung notwendig?

Diese Antwort erklärt, was im Commit zu erwarten ist, sodass sie nicht verwandte Änderungen leichter identifizieren und darauf hinweisen können.

Wie wird das Problem behoben?

Beschreiben Sie auf hoher Ebene, was getan wurde, um Veränderungen zu bewirken. Wenn Ihre Änderung offensichtlich ist, können Sie diese Frage möglicherweise nicht beantworten.

Welche Nebenwirkungen hat diese Änderung?

Dies ist die wichtigste zu beantwortende Frage, da sie auf Probleme hinweisen kann, bei denen Sie zu viele Änderungen in einem Commit oder Zweig vornehmen. Ein oder zwei Aufzählungspunkte für verwandte Änderungen mögen in Ordnung sein, aber fünf oder sechs sind wahrscheinlich Indikatoren für ein Commit, das zu viele Dinge tut.

# 50-character subject line## 72-character wrapped longer description. This should answer:## * Why was this change necessary?# * How does it address the problem?# * Are there any side effects?## Include a link to the ticket, if any.

Wie Sie Ihr Leben leichter machen können

Es ist viel zu beachten, aber Sie können eine Commit-Nachrichtenvorlage mithilfe von einrichten commit.template

Konfigurieren Sie Git für die Verwendung einer Vorlagendatei (z. B. .gitmessage) und erstellen Sie die Vorlagendatei mit Vim:

git config --global commit.template ~/.gitmessagevim ~/.gitmessage

Wenn wir git commitohne das -mNachrichtenflag ausgeführt werden, öffnet der Editor unsere hilfreiche Vorlage:

# [Add/Fix/Remove/Update/Refactor/Document] [summary]# Why is it necessary? (Bug fix, feature, improvements?)-# How does the change address the issue? -# What side effects does this change have?-# Include a link to the ticket, if any.

Kommentierte Zeilen sind in der endgültigen Nachricht nicht enthalten. Füllen Sie einfach die leeren Zeilen mit Text und Aufzählungszeichen unter den Eingabeaufforderungen aus.

Issue Tracker in GitHub und Bitbucket erkennen beide die Schlüsselwörter close, fixund resolveunmittelbar gefolgt von der Ausgabe oder dem Pull - Request - Nummer.

Ich denke, Linus würde sich sehr freuen, wenn wir es git commit -m "Fix bug"nie wieder in einem öffentlichen Repository verwenden würden :)

Sie können einfach im Git-Protokoll nach einer Problemnummer suchen, z. B. mit git log --grep=JIRA-1234

Sie können auch Plugins wie vim-fugitivefür vim oder git lensfür vs-Code verwenden, um schnell auf Git-Commit-Nachrichten zuzugreifen.

Gedanken schließen

Das Erstellen sauberer Git-Commits sagt viel über Sie aus und ist möglicherweise eine Hauptmethode, mit der Menschen über Projekte mit Ihnen interagieren.

Mit ein wenig Übung können Sie Ihre Commit-Gewohnheiten noch besser in Ihre beste Arbeit einfließen lassen - Arbeit, die offensichtlich mit Sorgfalt und Stolz erstellt wird.

Ihre Zukunft Sie und Ihr Team werden Ihnen für Ihre Voraussicht und Ausführlichkeit danken, wenn sie laufen, um git blamezu sehen, warum diese Bedingung vorhanden ist.

Wenn Ihnen dieser Artikel gefallen hat, klatschen, empfehlen und teilen Sie ihn bitte.