あなたのプロジェクトの誰もがコミットメントとcommitizenを使用して美しいコミットメッセージを書くこと🚀
プロジェクトに取り組むとき、多くの人々は意味のあるコミットメッセージを書く時間がありません.私にとっては、他の多くの開発者と協力してコミットを確認したり、マージ要求を見直したり、ものを作り、固定したり、同時に複数のプロジェクトのためにすべてを開発する必要があります.しばしば彼らのコミットメッセージは、彼らが現在のコミットで何をしたかについて記述しません、そして、私はそれを理解するために彼らのコードを掘り下げなければなりません、そして、それは時々悪夢でありえます.
彼らは良いメッセージを書いても、多くの人々が自分のスタイルやコミットメッセージを書く慣習を持っています.この問題を解決するために
最後の結果を覗き見する👇
ステップ1:セットアップ
インストール
The
あなたは絵文字を提供する必要がありますgitmoji ) それから、型(必須でない)の後のタイプ、そして、主題(それはあなたの実際のコミットメッセージです).あなたが好きならば、あなたは体とフッターを加えることができます.
さて、プロジェクトのためのコミットlinconfigを定義する必要があります.ファイル名
ステップ2
次に、追加する必要があります
注意:
ではコミットを試みる😏
さて、私の仲間チームメイトは、適切なコミットメッセージを書かない限り、コミットできません😈.
ステップ3:追加
最後の部分に来て、今私たちはコミットメッセージを生成するためにCLIヘルパーを作成します
スクリプトを実行する
彼らは良いメッセージを書いても、多くの人々が自分のスタイルやコミットメッセージを書く慣習を持っています.この問題を解決するために
commitlint
一緒にcommitizen
それで、私のチームがコミット慣習に固執するように.最後の結果を覗き見する👇
ステップ1:セットアップ
husky
and commitlint
まず第一に、あなたが必要になりますhusky
, gitフックを書く際に使われる.See More インストール
husky
プロジェクトに.npx husky-init && npm install
または、あなたが私のような糸を好むならばnpx husky-init && yarn
次はインストールする予定ですcommitlint and commitlint-config-gitmoji yarn add -D @commitlint/cli commitlint-config-gitmoji
またはnpm install --save-dev @commitlint/cli commitlint-config-gitmoji
The @commitlint/cli
プロジェクトに対して設定した規約に従ってコミットメッセージを実行するかどうかをチェックしますcommitlint-config-gitmoji
コンミット規約は、我々が使用しているプリセットです.他の規則もあります.The
commitlint-config-gitmoji
以下の慣例に従います.あなたは絵文字を提供する必要がありますgitmoji ) それから、型(必須でない)の後のタイプ、そして、主題(それはあなたの実際のコミットメッセージです).あなたが好きならば、あなたは体とフッターを加えることができます.
:gitmoji: type(scope?): subject
body?
footer?
例✨ feat(api): add middleware for user authentication
さて、プロジェクトのためのコミットlinconfigを定義する必要があります.ファイル名
commitlint.config.js
以下に設定された設定を定義します.module.exports = {
extends: ['gitmoji'],
rules: {
'header-max-length': [0, 'always', 100],
},
};
あなたのようにあなたのコミットメッセージのルールをカスタマイズすることができますeslint同様に.See here ステップ2
commitlint
フックとしてのチェック次に、追加する必要があります
commitlint
Gitフック使用husky
すべてのコミット前にコミットメッセージをチェックする.これを行うには以下のコマンドを実行します.yarn husky add .husky/commit-msg 'yarn commitlint --edit "$1"'
ORnpx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
ファイル名を作成します.commit-msg
プロジェクトの内側.husky
フォルダ.注意:
husky
デフォルトではpre-commit
ファイル名npm test
. あなたの中に定義されたテストスクリプトがないならpackage.json
エラーが発生します.を削除することができますnpm test
ラインからpre-commit
ファイルまたは有効なテストスクリプトを追加します.ではコミットを試みる😏
さて、私の仲間チームメイトは、適切なコミットメッセージを書かない限り、コミットできません😈.
commitlint
コミットメッセージが指定されていない場合、コミットを行うのを防ぎますcommitlint-config-gitmoji
.ステップ3:追加
commitizen
コミットメッセージを構成するためのCLI最後の部分に来て、今私たちはコミットメッセージを生成するためにCLIヘルパーを作成します
commitizen
. また、私たちは cz-customizable
CLIヘルパーをカスタマイズするにはyarn add -D commitizen cz-customizable
ORnpm install --save-dev commitizen cz-customizable
次に、commitizen設定を追加しますpackage.json
下記のように{
....
"devDependencies": {
...,
},
"config": {
"commitizen": {
"path": "cz-customizable"
}
}
}
ルートフォルダにファイルを作成する.cz-config.js
CLIヘルパーのオプションをカスタマイズし、以下の設定をペーストします.module.exports = {
types: [
{ value: ':sparkles: feat', name: '✨ feat:\tAdding a new feature' },
{ value: ':bug: fix', name: '🐛 fix:\tFixing a bug' },
{ value: ':memo: docs', name: '📝 docs:\tAdd or update documentation' },
{
value: ':lipstick: style',
name: '💄 style:\tAdd or update styles, ui or ux',
},
{
value: ':recycle: refactor',
name: '♻️ refactor:\tCode change that neither fixes a bug nor adds a feature',
},
{
value: ':zap: perf',
name: '⚡️ perf:\tCode change that improves performance',
},
{
value: ':white_check_mark: test',
name: '✅ test:\tAdding tests cases',
},
{
value: ':truck: chore',
name: '🚚 chore:\tChanges to the build process or auxiliary tools\n\t\tand libraries such as documentation generation',
},
{ value: ':rewind: revert', name: '⏪️ revert:\tRevert to a commit' },
{ value: ':construction: wip', name: '🚧 wip:\tWork in progress' },
{
value: ':construction_worker: build',
name: '👷 build:\tAdd or update regards to build process',
},
{
value: ':green_heart: ci',
name: '💚 ci:\tAdd or update regards to build process',
},
],
scopes: [
{ name: 'ui' },
{ name: 'android' },
{ name: 'ios' },
{ name: 'home' },
{ name: 'planner' },
{ name: 'settings' },
],
scopeOverrides: {
fix: [{ name: 'merge' }, { name: 'style' }, { name: 'test' }, { name: 'hotfix' }],
},
allowCustomScopes: true,
allowBreakingChanges: ['feat', 'fix'],
// skip any questions you want
skipQuestions: ['body'],
subjectLimit: 100,
};
また、commitizen
CLI{
"scripts": {
...,
"cm": "cz"
},
"dependencies": {
...
}
}
あなたの選択ごとに設定を変更することができます.See here スクリプトを実行する
commitizen
インアクション.yarn cm
ORnpm run cm
TA DAは、今あなたとあなたのチームの誰もが簡単に美しい従来のコミットメッセージを書くことができます.Reference
この問題について(あなたのプロジェクトの誰もがコミットメントとcommitizenを使用して美しいコミットメッセージを書くこと🚀), 我々は、より多くの情報をここで見つけました https://dev.to/sohandutta/make-everyone-in-your-project-write-beautiful-commit-messages-using-commitlint-and-commitizen-1amnテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol