コミットメッセージテンプレート
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabは、特定の種類のコミットのデフォルトメッセージを作成するためにコミットテンプレートを使用します。これらのテンプレートは、コミットメッセージが特定のフォーマットに従うこと、または特定の情報を含むことを奨励します。ユーザーは、マージリクエストをマージする際にこれらのテンプレートをオーバーライドできます。
コミットテンプレートの構文は、レビューの提案の構文に似ています。
GitLab Duoは、テンプレートを設定しなくてもマージコミットメッセージの生成に役立ちます。
コミットテンプレートを設定する
デフォルトのコミットテンプレートに必要な情報が含まれていない場合は、プロジェクトのコミットテンプレートを変更します。
前提条件:
- プロジェクトのメンテナーまたはオーナーロールを持っている必要があります。
これを行うには、次の手順を実行します:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > マージリクエストを選択します。
- 作成したいテンプレートのタイプに応じて、マージコミットのメッセージテンプレートまたはスカッシュコミットのメッセージテンプレートのいずれかにスクロールしてください。
- 希望するコミットタイプに、デフォルトメッセージを入力します。静的テキストと変数の両方を使用できます。各テンプレートは500文字に制限されていますが、データでテンプレートを置き換えた後、最終的なメッセージは長くなる可能性があります。
- 変更を保存を選択します。
マージコミットのデフォルトテンプレート
マージコミットメッセージのデフォルトテンプレートは次のとおりです:
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はコミットメッセージを自動的に再度更新します。コミットメッセージをプロジェクトテンプレートに復元するには、ページを再読み込みします。