コミットメッセージテンプレート
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabでは、コミットテンプレートを使用して、特定のタイプのコミットのデフォルトのメッセージを作成します。これらのテンプレートは、コミットメッセージが特定の形式に従うように促したり、特定の情報を含めるように促したりします。マージマージリクエストのマージ時に、ユーザーはこれらのテンプレートをオーバーライドできます。
コミットテンプレートの構文は、レビューの提案の構文に似ています。
GitLab Duoは、テンプレートを設定していなくても、マージコミットメッセージの生成を支援できます。
コミットテンプレートを設定する
デフォルトのテンプレートに必要な情報が含まれていない場合は、プロジェクトのコミットテンプレートを変更してください。
前提要件:
- プロジェクトのメンテナーロール以上が必要です。
これを行うには、次の手順に従います。:
- 左側のサイドバーで、Search or go to(検索または移動先)を選択して、プロジェクトを見つけます。
- 設定 > マージリクエストを選択します。
- 作成するテンプレートの種類に応じて、マージコミットのメッセージテンプレートまたはスカッシュコミットのメッセージテンプレートまでスクロールします。
- 目的のコミットタイプに対して、デフォルトのメッセージを入力します。静的なテキストと変数の両方を使用できます。各テンプレートは500文字に制限されていますが、テンプレートをデータに置き換えた後、最終的なメッセージはより長くなる可能性があります。
- Save changes(変更を保存)を選択します。
マージコミットのデフォルトテンプレート
マージコミットメッセージのデフォルトテンプレートは次のとおりです。:
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.mdImproved 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 introducedThis commit implements featureChangelog:added* Bug fixed* Documentation improvedThis commit introduced better docs. |
空の変数のみを含む行は削除されます。削除された行の前後に空の行がある場合、前の空の行も削除されます。
オープンなマージリクエストでコミットメッセージを編集すると、GitLabはコミットメッセージを自動的に再度更新します。コミットメッセージをプロジェクトテンプレートに復元するには、ページをリロードします。