Detaillierte Erklärung der Bedeutung von Standard-Commit-Nachrichten in der JavaScript-Entwicklung

Detaillierte Erklärung der Bedeutung von Standard-Commit-Nachrichten in der JavaScript-Entwicklung

Die Bedeutung der Standard-Commit-Nachricht

Mithilfe standardisierter und formatierter Commit-Nachrichten können wir die Entwicklung der Anforderungen besser verfolgen, Commits beim Rollback schnell finden und unserem Repository zumindest ein professionelleres Erscheinungsbild verleihen.

Wie standardisiert ein Team Commit-Nachrichten, durch Predigen oder durch Dokumentation? Natürlich hängt es von der Werkzeuggeneration und den Einschränkungen ab. Es gibt so viele Vorderräder, dass diese Art von Werkzeug kein Problem darstellt.

  • Commitizen Frage-und-Antwort-Stil Generierung von Commit-Nachrichtenformat
  • commitlint Scheckkarte Kontrolle Commit Nachricht Standardisierung

begehen

Commitizen: einfache Commit-Konventionen für Internetbürger.

commitizen/cz-cli verwendet den bereitgestellten Befehl „git cz“, um den Befehl „git commit“ zu ersetzen und eine Commit-Nachricht zu generieren, die dem Standard entspricht.

Die Standard-Commit-Spezifikation von Commitizen wird vom Angular-Team streng festgelegt. Wenn wir sie anpassen möchten, müssen wir auch mit dem Adapter zusammenarbeiten. Hier verwenden wir cz-customizable .

Gehen wir direkt zur Konfiguration auf Projektebene.

Führen Sie die Commitizen-Konfiguration durch

Führen Sie npm install -D commitizen, npm install -D cz-customizable aus.

Konfigurieren Sie dann die Skripte und Konfigurationsfelder in der Datei package.json

{
  "Skripte": {
    "Verpflichten": "cz"
  },
  "Konfiguration": {
    "Verpflichten": {
      "Pfad": "./node_modules/cz-customizable"
    },
    "cz-anpassbar": {
      "Konfiguration": ".cz-configrc.js"
    }
  }
}

Datei .cz-configrc.js hinzufügen

Versuchen Sie, npm run commit im Stammverzeichnis des Projekts auszuführen.

Nachfolgendes t npm run commit ersetzt git commit

verpflichten

Wie kann sichergestellt werden, dass alle Mitglieder der Gruppe den Befehl npm run commit verwenden? Natürlich mit Werkzeug.

Hier verwenden wir Commitlint, das eine ähnliche Funktion wie Eslint hat. Verwenden Sie Git-Hooks, um Commit-Nachrichten abzufangen, die nicht den Spezifikationen entsprechen.

Abhängigkeiten installieren

npm install --save-dev @commitlint/{config-conventional,cli} 
npm installiere yorkie --save-dev

Fügen Sie die Datei .commitlint.config.js hinzu

Erweitern Sie die Open-Source-Konfiguration und fügen Sie dann einige benutzerdefinierte Regeln hinzu

Konfigurieren von Git-Hooks

Um nicht standardmäßige Commit-Nachrichten abzufangen, müssen Sie git hooks commit-msg verwenden, um Commitlint automatisch auszuführen

"gitHooks": {
  "commit-msg": "commitlint -e $GIT_PARAMS"
}

Geben Sie eine zufällige Commit-Nachricht ein und Sie werden es magisch finden. Die Kartenkontrolle ist wirksam.

Befolgen Sie die oben genannten Schritte, um die Commit-Nachricht Ihres Teams zu standardisieren.

Um es zusammenzufassen:

Schritt 1: Abhängigkeiten installieren

npm install -D commitizen cz-customizable
npm install -D @commitlint/{config-conventional,cli}
npm install -D yorkie

Schritt 2: Konfigurationsdatei hinzufügen

Angepasste Commitizen-Konfigurationsdatei .cz-configrc.js, überprüfen Sie die Standarddatei .commitlint.config.js

Konfigurieren Sie package.json

{
  "Skripte": {
    "Verpflichten": "cz"
  },
  "Konfiguration": {
    "Verpflichten": {
      "Pfad": "./node_modules/cz-customizable"
    },
    "cz-anpassbar": {
      "Konfiguration": ".cz-configrc.js"
    }
  },
  "gitHooks": {
    "commit-msg": "commitlint -e $GIT_PARAMS"
  }
}

Das Prinzip von git cz

Wenn Sie global committen, können Sie statt npm run commit auch den Befehl git cz verwenden.

Was ist git cz ? Git-Befehle und auch Commitizen-Befehle.

Durch Abrufen der Informationen wird festgestellt, dass „git cz“ ein benutzerdefinierter Git-Befehl ist, der von Commitizen unter Verwendung der Dateibenennungskonventionen von Git generiert wird.

Git folgt der Namenskonvention git-<subcmd> um Unterbefehle aus ausführbaren Dateien in Ihrem PATH automatisch aufzulösen. Diese Unterbefehle können mit git <subcmd> ausgeführt werden.

Schauen wir uns das Bin-Feld des Commitizen-Repository-Pakets package.json an. Es ist wirklich köstlich, es ist der benutzerdefinierte Befehl von Git

 "bin": {
    "cz": "./bin/git-cz",
    "git-cz": "./bin/git-cz",
    "commitizen": "./bin/commitizen"
  },

Oben finden Sie den ausführlichen Inhalt der detaillierten Erklärung zur Bedeutung der Standard-Commit-Nachricht im JavaScript-Entwicklungsprozess. Weitere Informationen zur Bedeutung der Standard-Commit-Nachricht für die Entwicklung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So übermitteln Sie Verifizierungsspezifikationen an Git und generieren automatisch Protokolldateien
  • Tipps zur Verwendung von Eslint und Githooks zur Vereinheitlichung von Front-End-Stilen
  • Anordnung der Vue-Frontend-Entwicklungsspezifikationen (empfohlen)

<<:  Detaillierte Erläuterung der Verwendung und der zugrunde liegenden Prinzipien von MySQL-Tabellenpartitionen

>>:  Lösung für das Problem, dass die gesamte Seite nicht zentriert ist, wenn margin:0 auto in HTML verwendet wird

Artikel empfehlen

Was ist die Datei mysql-bin.000001 in MySQL? Kann sie gelöscht werden?

Nachdem ich MySQL über Ports installiert hatte, s...

XHTML: Rahmenstruktur-Tag

Rahmenstruktur-Tag <frameset></frameset&...

Docker-Bereinigungsumgebungsvorgang

Beginnen Sie vorsichtig mit der Reinigung! Auflis...

503 Dienst nicht verfügbar Fehlerlösungserklärung

1. Beim Öffnen der Webseite wird die Meldung „503...

Eine kurze Zusammenfassung aller Kapselungsmethoden in Vue

Inhaltsverzeichnis 1. Kapselungs-API 2. Globale T...

Zusammenfassung von 3 Möglichkeiten zum verzögerten Laden eines Vue-Routers

Kein Lazy Loading verwenden importiere Vue von „v...

mysql 8.0.18 mgr-Installation und seine Umschaltfunktion

1. Systeminstallationspaket yum -y install make g...

So verwenden Sie Axios-Anfragen im Vue-Projekt

Inhaltsverzeichnis 1. Installation 2. Es gibt kei...

Beispielcode zur Verwendung der Elementkalenderkomponente in Vue

Schauen Sie sich zunächst das Wirkungsdiagramm an...

Problem mit der Kompilierung des Nginx RTMP-Moduls in der Arm-Version

Inhaltsverzeichnis 1. Vorbereitung: 2. Quellcode-...

Node+Socket realisiert einfache Chatroom-Funktion

In diesem Artikel wird der spezifische Code von N...

jQuery implementiert einen einfachen Popup-Fenstereffekt

In diesem Artikel wird der spezifische Code von j...

Ein verbessertes Screenshot- und Freigabetool für Linux: ScreenCloud

ScreenCloud ist eine tolle kleine App, von der Si...

Detaillierte Erklärung der 10 häufigsten HTTP-Statuscodes

Der HTTP-Statuscode ist ein dreistelliger Code, d...