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

推薦する

Nacos で MySQL8 を設定する方法

1. MySQLデータベースnacos_configを作成する2. データベース nacos_con...

MySQLインストーラがコミュニティモードで実行されている場合の解決策

今日、リモートデスクトップを実行してログインしているときにこのプロンプトを見つけました「MySQL ...

CentOS 8 に MariaDB をインストールするための詳細なチュートリアル

MariaDB データベース管理システムは MySQL のブランチであり、主にオープンソース コミュ...

Vueのref属性の詳細な説明

要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....

MySQLのパスワードを忘れた場合の対処方法

MySQL パスワードを忘れた場合の解決策: [root@localhost ~]# mysql -...

MySQL8の再帰メソッドの使い方を教える

以前、カスタム関数を使用して MySQL でツリー構造を再帰的にクエリする方法についての記事を書きま...

HTML テーブル マークアップ チュートリアル (18): テーブル ヘッダー

<br />ヘッダーはテーブルの最初の行を参照します。ヘッダー内のテキストは中央揃えで太...

WindowsはVMwareを使用してLinux仮想マシンを作成し、CentOS7.2オペレーティングシステムをインストールします。

目次1. ウィザードに従って仮想マシンを作成します2. オペレーティングシステムをインストールします...

Access_Tokenの統合管理を実現するミニプログラム開発

目次TOKEN タイマーリフレッシュ2. access_tokenの内部設計2.1 access_t...

Vue3 トランジションアニメーションの落とし穴記録について

目次背景問題の場所さらなる分析要約する背景私のコース「Vue 3 エンタープライズレベルの音楽アプリ...

MySQL カーソルの定義と使用法

カーソルの作成まず、MySql でデータ テーブルを作成します。 存在しない場合はテーブルを作成 `...

初心者がHTMLタグを学ぶ(3)

HTML に触れる初心者は、いくつかの HTML タグを学びます。関連記事:初心者が学ぶ HTML...

Vueのprovideとinjectの使い方と原則を分析する

まず、provide/inject を使用する理由について説明しましょう。祖父コンポーネントと孫コン...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

Centos 7 システムの Tomcat サーバーの詳細な分析

目次1. tomcatの起源1. Tomcat アプリケーションのシナリオ2. Tomcatに必要な...