正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

コミットメッセージテンプレート

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabは、特定の種類のコミットのデフォルトメッセージを作成するためにコミットテンプレートを使用します。これらのテンプレートは、コミットメッセージが特定のフォーマットに従うこと、または特定の情報を含むことを奨励します。ユーザーは、マージリクエストをマージする際にこれらのテンプレートをオーバーライドできます。

コミットテンプレートの構文は、レビューの提案の構文に似ています。

GitLab Duoは、テンプレートを設定しなくてもマージコミットメッセージの生成に役立ちます。

コミットテンプレートを設定する

デフォルトのコミットテンプレートに必要な情報が含まれていない場合は、プロジェクトのコミットテンプレートを変更します。

前提条件:

  • プロジェクトのメンテナーまたはオーナーロールを持っている必要があります。

これを行うには、次の手順を実行します:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 設定 > マージリクエストを選択します。
  3. 作成したいテンプレートのタイプに応じて、マージコミットのメッセージテンプレートまたはスカッシュコミットのメッセージテンプレートのいずれかにスクロールしてください。
  4. 希望するコミットタイプに、デフォルトメッセージを入力します。静的テキストと変数の両方を使用できます。各テンプレートは500文字に制限されていますが、データでテンプレートを置き換えた後、最終的なメッセージは長くなる可能性があります。
  5. 変更を保存を選択します。

マージコミットのデフォルトテンプレート

マージコミットメッセージのデフォルトテンプレートは次のとおりです:

Merge branch '%{source_branch}' into '%{target_branch}'

%{title}

%{issues}

See merge request %{reference}

スカッシュコミットのデフォルトテンプレート

プロジェクトをコミットをスカッシュしてマージするように設定している場合、GitLabはこのテンプレートでスカッシュコミットメッセージを作成します:

%{title}

コミットテンプレートでサポートされている変数

コミットメッセージテンプレートは次の変数をサポートします:

変数説明出力例
%{source_branch}マージするブランチ名。my-feature-branch
%{target_branch}変更を適用するブランチの名前。main
%{title}マージリクエストのタイトル。Fix tests and translations
%{issues}Closes <issue numbers>という句を含む文字列。マージリクエストの説明で言及されているすべてのイシューを、イシューのクローズパターンに一致する形で含みます。イシューが言及されていない場合は空です。Closes #465, #190 and #400
%{description}マージリクエストの説明。Merge request description.
Can be multiline.
%{reference}マージリクエストへの参照。group-name/project-name!72359
%{local_reference}マージリクエストへのローカル参照。!72359
%{source_project_id}マージリクエストのソースプロジェクトのID。123
%{first_commit}マージリクエストの差分の、最初のコミットのメッセージ全体。Update README.md
%{first_multiline_commit}マージコミットではなく、メッセージ本文に複数の行が含まれる最初のコミットのメッセージ全体。すべてのコミットが複数行でない場合のマージリクエストのタイトル。Update README.md

Improved project description in readme file.
%{first_multiline_commit_description}マージコミットではなく、メッセージ本文に複数行がある最初のコミットの説明(最初の行/タイトルなし)。Improved project description in readme file.
%{url}マージリクエストへの完全なURL。https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1
%{reviewed_by}バッチコメントを使用してレビューを提出したユーザーに基づいた、マージリクエストのレビュアーの行区切りリスト。Reviewed-by Gitコミットトレーラー形式。Reviewed-by: Sidney Jones <sjones@example.com>
Reviewed-by: Zhang Wei <zwei@example.com>
%{approved_by}Approved-by Gitコミットトレーラー形式のマージリクエスト承認者の行区切りリスト。Approved-by: Sidney Jones <sjones@example.com>
Approved-by: Zhang Wei <zwei@example.com>
%{merged_by}マージリクエストをマージしたユーザー。Alex Garcia <agarcia@example.com>
%{merge_request_author}マージリクエスト作成者の名前とメールアドレス。Zane Doe <zdoe@example.com>
%{co_authored_by}Co-authored-by Gitコミットトレーラー形式のコミット作成者の名前とメール。マージリクエストの最新の100件のコミットの作成者に制限されています。Co-authored-by: Zane Doe <zdoe@example.com>
Co-authored-by: Blake Smith <bsmith@example.com>
%{all_commits}マージリクエスト内のすべてのコミットからのメッセージ。最新の100件のコミットに制限されています。100 KiBを超えるコミット本文とマージコミットメッセージはスキップされます。* Feature introduced

This commit implements feature
Changelog:added

* Bug fixed

* Documentation improved

This commit introduced better docs.

空の変数のみを含む行は削除されます。削除された行の前後に空行がある場合、先行する空行も削除されます。

開いているマージリクエストでコミットメッセージを編集すると、GitLabはコミットメッセージを自動的に再度更新します。コミットメッセージをプロジェクトテンプレートに復元するには、ページを再読み込みします。