JavaScript 開発における標準コミットメッセージの重要性の詳細な説明

JavaScript 開発における標準コミットメッセージの重要性の詳細な説明

標準コミットメッセージの重要性

標準化されフォーマットされたコミット メッセージにより、要件の進化をより適切に追跡し、ロールバック時にコミットをすばやく見つけることができ、少なくともリポジトリがよりプロフェッショナルに見えるようになります。

チームは、説教やドキュメント化によってコミット メッセージをどのように標準化しますか?もちろん、ツールの世代と制約によって異なります。フロントエンドホイールは非常に多いため、この種のツールは問題ありません。

  • commitizen の質問と回答形式のコミット メッセージ フォーマットの生成
  • commitlint チェックカード制御コミットメッセージ標準化

コミットする

commitizen: インターネットユーザーのためのシンプルなコミット規約。

commitizen/cz-cli は、git commit コマンドを置き換え、標準に準拠したコミット メッセージを生成するために提供される git cz コマンドを使用します。

commitizen のデフォルトのコミット仕様は、Angular チームによって厳密に規定されています。カスタマイズする場合は、アダプタとの連携も必要です。ここではcz-customizableを使用します。

早速プロジェクトレベルの構成に移りましょう。

コミット構成を実行する

npm install -D commitizen、npm install -D cz-customizable を実行します。

次に、package.jsonファイル内のスクリプトと設定フィールドを設定します。

{
  「スクリプト」: {
    「コミット」: 「cz」
  },
  「設定」: {
    「コミット」: {
      "パス": "./node_modules/cz-customizable"
    },
    "czカスタマイズ可能": {
      "config": ".cz-configrc.js"
    }
  }
}

.cz-configrc.js ファイルを追加する

プロジェクトのルートディレクトリでnpm run commitを実行してみてください。

後続のt npm run commit git commitを置き換えます

コミットリント

グループのすべてのメンバーがnpm run commitコマンドを使用するようにするにはどうすればよいですか?もちろん、ツール付きです。

ここでは、eslint と同様の機能を持つ commitlint を使用します。仕様に準拠していないコミット メッセージを傍受するには、git フックを使用します。

依存関係をインストールする

npm をインストール --save-dev @commitlint/{config-conventional,cli} 
npm インストール ヨーキー --save-dev

.commitlint.config.js ファイルを追加する

オープンソース構成を拡張し、カスタマイズされたルールを追加します

Gitフックの設定

非標準のコミットメッセージを傍受するには、gitフックcommit-msgを使用してcommitlintを自動的に実行する必要があります。

"gitフック": {
  "コミットメッセージ": "commitlint -e $GIT_PARAMS"
}

ランダムなコミット メッセージを入力してみると、魔法のような効果が得られることがわかります。カードコントロールは効果的です。

上記の手順に従って、チームのコミット メッセージを標準化します。

要約すると:

ステップ1: 依存関係をインストールする

npm インストール -D コミット cz-customizable
npm インストール -D @commitlint/{config-conventional,cli}
npm インストール -D ヨーキー

ステップ2: 設定ファイルを追加する

カスタマイズされた commitizen 構成ファイル .cz-configrc.js 、標準の .commitlint.config.js ファイルをチェックします

package.json を構成する

{
  「スクリプト」: {
    「コミット」: 「cz」
  },
  「設定」: {
    「コミット」: {
      "パス": "./node_modules/cz-customizable"
    },
    "czカスタマイズ可能": {
      "config": ".cz-configrc.js"
    }
  },
  "gitフック": {
    "コミットメッセージ": "commitlint -e $GIT_PARAMS"
  }
}

git czの原則

グローバルにコミットする場合は、 npm run commitの代わりにgit czコマンドを使用することもできます。

git czとは何ですか? git コマンド、および commitizen コマンド。

情報を調べると、git cz は、git のファイル命名規則を使用して commitizen によって生成されたカスタム git コマンドであることがわかります。

Git はgit-<subcmd>命名規則に従って、PATH 内の実行可能ファイルからサブコマンドを自動的に解決します。 これらのサブコマンドはgit <subcmd>で実行できます。

commitizen リポジトリ package.json の bin フィールドを見てみましょう。本当に美味しいです、gitのカスタムコマンドです

 「ビン」: {
    "cz": "./bin/git-cz",
    "git-cz": "./bin/git-cz",
    "commitizen": "./bin/commitizen"
  },

上記は、JavaScript 開発プロセスにおける標準コミット メッセージの意味の詳細な説明の詳細な内容です。開発標準コミット メッセージの意味の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • 検証仕様をgitに送信し、ログファイルを自動生成する方法
  • eslint と githooks を使用してフロントエンドのスタイルを統一するためのヒント
  • Vue フロントエンド開発仕様の整理(推奨)

<<:  HTML で margin:0 auto を使用するとページ全体が中央に配置されない問題の解決方法

>>:  優れた UI (ユーザー インターフェース) デザイナーになるための 20 の道標

推薦する

GolangでMySQLデータベースのバックアップを実装する方法

背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...

Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能

最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...

JS ベースの Ajax 同時リクエスト制御を実装する方法

目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...

MySQL の日付と時刻の加算と減算のサンプル コード

目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...

MYSQLパターンマッチングREGEXPの使用に関する一般的な話など

のようにLIKE ではデータ全体が一致する必要がありますが、REGEXP では部分的な一致のみが必要...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

MySQLが基礎データ構造としてB+ツリーを使用する理由

MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...

DockerHubイメージリポジトリの使い方の詳しい説明

これまで使用していたイメージはすべて DockerHub パブリック リポジトリから取得していました...

Vue での this.$set の使用に関する詳細な説明

目次Vue での this.$set の使用使用なぜレスポンシブなのか?分析する要約するVue での...

配列をフィルタリングするJavaScript

この記事では、配列フィルタリングを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Django 2.2 を MySQL データベースに接続する方法

1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...

Jenkins+tomcat の自動ホットデプロイメント/再起動と発生した問題の解決策 (推奨)

1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...

Linux ファイルとユーザー管理の実践

1. /etc ディレクトリ内の、文字以外の文字で始まり、その後に文字と任意の長さのその他の文字が続...

JS でオブジェクトを作成する 4 つの方法

目次1. リテラル値でオブジェクトを作成する2. 新しいキャラクターを使ってオブジェクトを作成する3...

トップ 10 Js 画像処理ライブラリ

目次導入1. 異食症2. レナ3. コンプレッサー4. ファブリック5. ぼかす6. 画像を結合する...