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 の道標

推薦する

React仮想リストの実装

目次1. 背景2. バーチャルリストとは何か3. 関連概念の紹介4. 仮想リストの実装4.1 ドライ...

CSS でフロートとマージンを混合するサンプルコード

最近の勉強で、GitHub でレイアウトの練習をいくつか見つけたのですが、レイアウトにまったく慣れて...

jsオブジェクト指向カプセル化カスケードドロップダウンメニューリストの実装手順

この例で開発されたカスケード ドロップダウン メニューは、既存の JSON データに基づいて作成され...

MySQL の乗算と除算の精度の不一致の問題 (除算後の小数点以下 4 桁)

質問今日、プロジェクト関数を書いていたとき、金額の統計計算を行い、単位を変換する必要がありました。そ...

MySQLデータストレージプロセスパラメータの詳細な例

MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...

JavaScript ES6 分割演算子の理解と応用

目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...

Mysql の大きな SQL ファイルの高速リカバリ ソリューションの共有

序文MySQL データベースを使用する過程では、データベースのバックアップと復元が必要になることがよ...

VUE+Express+MongoDBのフロントエンドとバックエンドの分離によるノートウォールの実現

付箋紙の壁シリーズを実現しようと思っています。シンプルなものはシンプル、複雑なものは多機能です。開発...

Linux システムファイル共有 samba 設定チュートリアル

目次sambaをアンインストールしてインストールする新しい共有パスを作成し、権限を設定するSamba...

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...

Tomcat マルチポートドメイン名アクセスと gzip 圧縮方式を有効にする構成

1. デフォルトのポート8080に加えて、ドメイン名のアクセスとserver.xmlのオープンにポー...

Linux カーネル デバイス ドライバー カーネル時間管理に関する注意事項

/****************** * Linux カーネルの時間管理 ***********...

Windows 10 で MySql の解凍バージョンをインストールして構成する方法のチュートリアル

Windows 10 で MySql データベースの解凍バージョンをインストールするステップ 1: ...

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...

プライベートDockerリポジトリであるHarborをインストールするための詳細な手順

Harborのインストールは非常に簡単ですが、Dockerログインで行き詰まってしまいました。このブ...