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

マージリクエストのレビュー

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

マージリクエストのレビュープロセスにより、専門家がマージ前に提案された変更をレビューすることが保証されます。レビュアーは、マージリクエストにレビューコメントを追加し、変更を提案します。作成者は、GitLab UIから直接適用できます。

レビュアーは、次のいずれかのツールを使用してマージリクエストをレビューできます:

承認は、マージリクエストが実際に準備ができたときにのみマージされるようにする、いくつかのマージチェックの1つです。プロジェクトの設定によっては、レビュアーが変更の要求を設定することにより、マージリクエストがマージされないようにブロックすることもできます。

GitLab PremiumとUltimateは、レビュアーを見つけるのに役立つ詳細情報が記載されたレビュアーをアサインするドロワーを提供します承認ルールを満たすレビュアーを見つけるのに役立つ情報が記載されています:

このマージリクエストには4つの承認が必要ですが、3つの承認要件が満たされていません。

定義されたレビューフローに従うことで、各レビュアーはマージリクエストを受け入れるか拒否するかを決定します。右側のサイドバーには、レビュアーのリストと(レビューフローに従っている場合)レビューステータスが表示されます:

さまざまなレビュー状態のレビュアーの例。

概要については、マージリクエストのレビューをご覧ください。

レビューするマージリクエストを見つける

マージリクエストホームページには、進行中のマージリクエストと、レビュアーからのレビューを待っているマージリクエストが表示されます。レビューが必要なマージリクエストは、リクエストしたレビューカテゴリにあります。注意が必要なすべてのマージリクエストを表示するには、次のいずれかの方法を使用します:

  • Shift+mキーボードショートカットを押します。
  • 左側のサイドバーで、マージリクエスト merge-request )を選択します。
  • 左側のサイドバーで、検索または移動先を選択し、ドロップダウンリストから現在作業中のマージリクエストを選択します。

マージリクエストのレビュー状態を表示する

これを行うには、次の手順に従います:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。

  2. コード > マージリクエストを選択して、マージリクエストを見つけます。

  3. マージリクエストのタイトルを選択して表示します。

  4. マージリクエストウィジェットまでスクロールして、マージリクエストのマージ可能性と承認状態を確認します。たとえば、必要な承認がない場合、このマージリクエストはブロックされます:

    マージリクエストウィジェットに「必要な承認はすべて付与されている必要があります」と表示されます。

レビューをリクエストする

変更の準備が完了したら、レビューをリクエストします。マージリクエストにレビュアーを割り当てるには、テキストフィールドで/assign_reviewer @userクイックアクションを使用するか、以下を使用します:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. コード > マージリクエストを選択して、マージリクエストを見つけます。
  3. マージリクエストのタイトルを選択して表示します。
  4. 名前でレビュアーを見つけるには、右側のサイドバーのレビュアーセクションで編集を選択します。
  5. GitLab PremiumとUltimateで承認ルールを満たすレビュアーを見つけるには、次のようにします:
    1. 右側のサイドバーのレビュアーセクションでアサインを選択して、レビュアーをアサインするドロワーを開きます。
    2. 承認ルールごとに、編集を選択して、その承認ルールを満たすレビュアーを見つけます。

GitLabは、マージリクエストをユーザーのレビューリクエストに追加します。

承認ルールを満たすレビュアーを見つける

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

GitLab PremiumとUltimateは、マージリクエストに最適なレビュアーをより迅速に見つけるのに役立ちます。レビュアーをアサインするドロワーを使用して、レビュアーのリストをフィルタリングします。マージリクエストで変更されたファイルのコードオーナーと、プロジェクトの承認ルールを満たすユーザーを確認します。

この例では、マージリクエストには3つのコードオーナーの承認が必要ですが、これまでのところ承認はありません:

3つのコードオーナーの承認を必要とするが、承認がないマージリクエストのレビュアーのアサインドロワー。コードオーナーのルールごとに1行、承認ルールごとに1行が表示されます。各ルールに対してレビュアーを選択できます。

マージリクエストで対象となる承認者を割り当てるには、次のようにします:

  1. レビュアーセクションでアサインを選択します。
  2. オプションの承認ルールまたはコードオーナーを表示するには、Optional approval rules(オプションの承認ルール)( chevron-lg-up )を選択して表示します。
  3. 必要なレビュアータイプの横にある編集を選択します:
    • コードオーナーには、そのファイルタイプのコードオーナーのみが表示されます。
    • 承認ルールには、その承認ルールを満たすユーザーのみが表示されます。
  4. 目的のレビュアーを選択します:(GitLab PremiumとUltimateでは、複数のレビュアーを選択できます。)
  5. 必要なコードオーナーおよびApproval rule(承認ルール)項目ごとに繰り返します。
  6. レビュアーを選択したら、右上にある閉じる close )を選択して、レビュアーをアサインするドロワーを非表示にします。

レビューを再リクエストする

レビュアーがマージリクエストのレビューを完了した後、マージリクエストの作成者はレビュアーに新しいレビューを要求することができます。これを行うには、マージリクエストのテキストフィールドで/request_review @userクイックアクションを使用するか、次のようにします:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. コード > マージリクエストを選択して、マージリクエストを見つけます。
  3. マージリクエストのタイトルを選択して表示します。
  4. マージリクエストで右側のサイドバーを折りたたんでいる場合は、 chevron-double-lg-left Expand Sidebar(サイドバーを展開)を選択して展開します。
  5. レビュアーセクションで、レビュアーの名前の横にあるRe-request a review(レビューを再リクエスト)アイコン( redo )を選択します。

GitLabは、レビュアーの新しいTo Doアイテムを作成し、通知メールを送信します。

レビューを開始する

マージリクエストをレビューするときは、個々のコメントを残す代わりに、レビュープロセスに従ってください。レビューを開始を選択すると、右側のサイドバーのレビュアーセクションの状態が、レビュー待ち dash-circle )からレビュアーがレビューを開始 comment-dots )に更新されます。

マージリクエストのレビューを開始するには、次のようにします:

  1. 次のいずれかの操作を行います:
    • Shift + rを押して、Review requests(レビューリクエスト)ページに移動します。
    • 左側のサイドバーで、マージリクエスト merge-request )>Review requests(レビューリクエスト)を選択します。
  1. マージリクエストを見つけ、マージリクエストのタイトルを選択して表示します。

  2. マージリクエストの説明とコメントを読んで、マージリクエストについて学びます。

  3. 変更を選択して、提案された変更の差分を表示します。変更ページの詳細は、マージリクエストの変更をご覧ください。

  4. 必要に応じて複数行または1行の変更を提案します。最初のレビューコメントを保存する準備ができたら、レビューを開始を選択して、次のようにします:

    • 右側のサイドバーの状態をレビュアーがレビューを開始 comment-dots )に更新します。

    • 次のように、レビューコメントを保存しますが、公開せずにそのままにします:

      未公開の複数行のレビューコメントが「保留中」と表示されています。

    レビューを開始する代わりに今すぐコメントを追加を選択すると、GitLabはすぐにコメントを公開します。

  5. 変更タブまたは概要タブでレビューコメントの書き込みを続行します。レビューに追加するを選択すると、レビューを送信するまで公開されません:

    新しいスレッド

次に、レビューを送信します。

コメントでスレッドを解決するか、再開します

コメントは、コメントスレッドを解決するか、再開することもできます。コメントに返信する際にスレッドを解決するか、または未解決にするには:

  1. コメントテキストエリアに、コメントを書き込みます。
  2. スレッドを解決にするまたはスレッドを再オープンを選択またはクリアします。
  3. 今すぐコメントを追加またはレビューに追加するを選択します。

保留中のコメントには、遅延したアクションに関する情報が表示されます。これらのアクションは、レビューを送信するときに実行されます。

レビューを送信する

レビューを送信すると、GitLabは次のようになります:

  • レビューのコメントを公開します。
  • レビューコメントを添付して、マージリクエストのすべての通知可能なユーザーに1通のメールを送信します。このメールに返信すると、マージリクエストに新しいコメントが作成されます。
  • レビューのコメントに追加したクイックアクションを実行します。
  • レビューの結果を表示します。

マージリクエストのレビューをすばやく送信するには、次のようにします:

  • マージリクエストウィジェットに移動し、承認するを選択します。マージリクエストも作成者によって承認されます。
  • レビュー以外のコメントのテキストで、/submit_reviewクイックアクションを使用します。

レビューを送信するときに、レビューコメントを読んで編集するには、次のようにします:

  1. 右上にあるあなたのレビューを選択して、レビューの詳細を表示します:

    進行中のレビューを示すレビュードロワー。単一行のレビューコメントと、2行のコード行にまたがるコメントが含まれています。

  2. 保留中のコメントをレビューします。必要に応じて編集します。

  3. レビューの結果を選択します。

    • 承認する: フィードバックを残して、変更を承認します。
    • コメント: 明示的な承認または変更リクエストなしで、一般的なフィードバックを残します。
    • 変更の要求: 作成者がフィードバックに対応するまで、マージリクエストがマージされないようにブロックします。
  4. オプション。レビューの概要を作成します。GitLab PremiumおよびUltimateのユーザーは、概要を追加する tanuki-ai )を選択して、概要を作成できます。実行するクイックアクションを追加します。

保留中のレビューを破棄します

レビューを破棄すると、未公開のコメントが削除され、復元できなくなります。これを行うには、次の手順に従います:

  1. 右上にあるあなたのレビューを選択して、レビューの詳細を表示します:

    進行中のレビューを示すレビュードロワー。単一行のレビューコメントと、2行のコード行にまたがるコメントが含まれています。

  2. レビューを破棄を選択します。

変更をリクエストするときにマージを防ぐ

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

レビュアーが変更をリクエストすると、マージリクエストはマージされなくなります。この場合、マージリクエストレポート領域には、Change requests must be approved by the requesting user(変更リクエストは、リクエストしているユーザーが承認する必要があります)というメッセージが表示されます。マージリクエストのブロックを解除するには、変更をリクエストしたレビュー担当者がマージリクエストを再レビューして承認する必要があります。

変更リクエストを削除する

以前に変更をリクエストした場合は、変更リクエストを削除できます。次の両方が当てはまる場合は、これが必要になる場合があります:

  • マージリクエストを承認できなくなった。
  • 変更リクエストをキャンセルしたいが、新しいレビューを送信したくない。

新しいレビューを送信せずに変更リクエストを削除するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。

  2. コード > マージリクエストを選択して、マージリクエストを見つけます。

  3. マージリクエストのタイトルを選択して表示します。

  4. マージリクエストの概要で、マージリクエストレポート領域までスクロールします。

  5. Change requests must be approved by the requesting user(変更リクエストは、リクエストしているユーザーが承認する必要があります)の横にある削除を選択します:

    ユーザーが変更をリクエストしたためブロックされているマージリクエスト

変更のリクエストをバイパスする

変更をリクエストしたユーザーが再レビューまたは承認できない場合、マージリクエストをマージする権限を持つ別のユーザーがこのチェックを上書きできます:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。

  2. コード > マージリクエストを選択して、マージリクエストを見つけます。

  3. マージリクエストのタイトルを選択して表示します。

  4. マージリクエストの概要で、マージリクエストレポート領域までスクロールします。

  5. Change requests must be approved by the requesting user(変更リクエストは、リクエストしているユーザーが承認する必要があります)の横にあるバイパスを選択します:

    ユーザーが変更をリクエストしたためブロックされているマージリクエスト

  6. マージレポート領域にMerge with caution: Override addedが表示されます。ユーザーがバイパスしたチェックを確認するには、マージチェックを展開 chevron-lg-down )を選択し、警告( status_warning )アイコンが含まれているチェックを見つけます。この例では、作成者はChange requests must be approved by the requesting user(変更リクエストは、リクエストしているユーザーが承認する必要があります)を回避するしました:

    このマージリクエストにはバイパスされたチェックが含まれており、注意してマージする必要があります。

マージリクエストの変更をダウンロードする

マージリクエストからの変更は、差分ファイルまたはパッチファイルとしてダウンロードできます。詳細と例については、マージリクエストの変更をダウンロードを参照してください。

関連機能

マージリクエストは、次の機能に関連しています:

  • Cherry-pickの変更: GitLab UIで、マージされたマージリクエストまたはコミットでcherry-pickを選択して、cherry-pickします。
  • 変更を比較: マージリクエストに含まれる変更の差分を表示およびダウンロードします。
  • 早送りマージリクエスト: 線形Git履歴とマージコミットを作成せずにマージリクエストを受け入れる方法については
  • 変更を導入したマージリクエストを見つける: コミット詳細ページを表示すると、GitLabはそのコミットを含むマージリクエストにリンクします。
  • マージリクエストバージョン: マージリクエストの差分の異なるバージョンを選択して比較する
  • 競合の解決: GitLabは、GitLab UIで特定のマージリクエストの競合を解決するオプションを提供できます。
  • 変更の取り消し: マージリクエストから任意のコミットの変更を取り消します。
  • キーボードショートカット: キーボードコマンドを使用して、マージリクエストの特定の部分にアクセスして変更します。
  • バリューストリーム分析: 主要なマージリクエストの手順(reviewedapprovedなど)を追跡して、ソフトウェア開発ライフサイクルで最も時間が費やされている場所を特定します。この情報は、グループやプロジェクトのマージリクエストのワークフローを最適化し、全体的なデベロッパーの生産性を向上させるための、実行可能なインサイトを明らかにするのに役立ちます。バリューストリーム分析でMRレビュー時間を削減した方法について、詳しくはこちらをご覧ください。