mcpField
G
Git Commit Format

Git Commit Format

github.com/openshift開発54877 回インストール今日更新
リポジトリ

Git Commit Format について

HyperShift のコミットメッセージに Conventional Commits を適用するスキルです。形式、必須フッター、破壊的変更の表記、gitlint による検証を定めています。

主な機能

  1. 01Conventional Commits の形式
  2. 02コミット種別とスコープの指針
  3. 03破壊的変更の表記
  4. 04Signed-off-by と Assisted-by のフッター
  5. 05gitlint の検証ルール

活用シーン

  1. 01HyperShift の機能追加や修正のコミット作成
  2. 02AI 支援で作成したメッセージへの署名追加
  3. 03タイトル、本文行、フッターの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openshift/hypershift --skill git-commit-format

インストール後、Claude Code で/git-commit-formatを入力して読み込まれたか確認します。

詳細

Git コミットメッセージの書式ルール

HyperShift プロジェクトのすべての Git コミットに、Conventional Commits 形式を適用してください。

コミットメッセージの形式

<type>(<scope>): <description>

[optional body]

[footers]

コミットの種類

  • feat:新機能
  • fix:バグ修正
  • docs:ドキュメントの変更
  • style:コードスタイルの変更(フォーマットなど)
  • refactor:コードのリファクタリング(機能の変更なし)
  • test:テストの追加・更新
  • chore:メンテナンス作業
  • build:ビルドシステムまたは依存関係の変更
  • ci:CI/CD の変更
  • perf:パフォーマンスの改善
  • revert:以前のコミットの取り消し

破壊的変更

! を付けて明示する場合
feat!: send email when product shipped
BREAKING CHANGE フッターを付ける場合
feat: allow config to extend other configs

BREAKING CHANGE: `extends` key now used for extending config files
! と BREAKING CHANGE の両方を付ける場合
chore!: drop support for Node 6

BREAKING CHANGE: use JavaScript features not available in Node 6.

必須のフッター

Signed-off-by フッター

必ず、名前とメールアドレスを含む Signed-off-by フッターを付けてください。

次の優先順位で認証情報を取得してください。

  1. 環境変数:$GIT_AUTHOR_NAME と $GIT_AUTHOR_EMAIL
  2. Git の設定:git config user.name と git config user.email
  3. どちらも設定されていない場合は、ユーザーに詳細を尋ねてください
Assisted-by フッター

AI アシスタントがコミットメッセージの作成または生成を支援した場合は、Assisted-by: LLM フッターを付けてください。人が作成したコミットメッセージには付けないでください。

Assisted-by: LLM

Gitlint の検証ルール

  • make run-gitlint を実行して、コミットメッセージを検証してください
  • タイトル行:最大 120 文字
  • 本文の各行:最大 140 文字
  • Conventional Commits 形式を使用してください
  • 必須のフッター(Signed-off-by)を含めてください
  • 行末に空白を入れないでください

例

シンプルなコミット
docs: correct spelling of CHANGELOG

Signed-off-by: Bryan Cox <[email protected]>
Assisted-by: LLM
スコープ付き
feat(azure): add workload identity support

Signed-off-by: Bryan Cox <[email protected]>
Assisted-by: LLM
複数段落とフッターを含む場合
fix: prevent racing of requests

Introduce request ID and reference to latest request. Dismiss
incoming responses other than from latest request.

Remove timeouts which were used to mitigate racing but are
obsolete now.

Reviewed-by: Jane Doe
Refs: #123
Signed-off-by: Bryan Cox <[email protected]>
Assisted-by: LLM
Conventional Commits の例

説明と破壊的変更フッターを含むコミットメッセージ:

feat: allow provided config object to extend other configs

Signed-off-by: Bryan Cox <[email protected]>
BREAKING CHANGE: `extends` key in config file is now used for extending other config files

破壊的変更を明示するために ! を付けたコミットメッセージ:

feat!: send an email to the customer when a product is shipped

Signed-off-by: Bryan Cox <[email protected]>

スコープを指定し、破壊的変更を明示するために ! を付けたコミットメッセージ:

feat(api)!: send an email to the customer when a product is shipped

Signed-off-by: Bryan Cox <[email protected]>

! と BREAKING CHANGE フッターの両方を含むコミットメッセージ:

chore!: drop support for Node 6

Signed-off-by: Bryan Cox <[email protected]>
BREAKING CHANGE: use JavaScript features not available in Node 6.

本文のないコミットメッセージ:

docs: correct spelling of CHANGELOG

Signed-off-by: Bryan Cox <[email protected]>

スコープ付きのコミットメッセージ:

feat(lang): add Polish language

Signed-off-by: Bryan Cox <[email protected]>

複数段落の本文と複数のフッターを含むコミットメッセージ:

fix: prevent racing of requests

Introduce a request ID and a reference to the latest request. Dismiss
incoming responses other than from the latest request.

Remove timeouts which were used to mitigate the racing issue but are
obsolete now.

Reviewed-by: Z
Refs: #123
Signed-off-by: Bryan Cox <[email protected]>

クイックチェックリスト

コミットを作成する際は、次の項目を確認してください。

  • Conventional Commits 形式を使用する:<type>(<scope>): <description>
  • 命令形の件名を使い、適切な場合は「なぜ」と「どのように」を説明する
  • タイトルを 120 文字未満にする
  • 本文の各行を 140 文字未満にする
  • Signed-off-by フッターを含める
  • AI アシスタントがコミットメッセージの作成または生成を支援した場合は Assisted-by: LLM を含め、人が作成した場合は省略する
  • make run-gitlint で検証する
  • 破壊的変更には ! または BREAKING CHANGE を使用する

参考資料

Conventional Commits 仕様:https://www.conventionalcommits.org/en/v1.0.0/#specification

コメント