マージリクエストの変更
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
マージリクエストは、リポジトリ内のブランチにあるファイルに対する一連の変更を提案します。GitLabはこれらの変更を、現在の状態と提案された変更との_差分_として表示します。デフォルトでは、差分は提案された変更(ソースブランチ)とターゲットブランチを比較します。デフォルトでは、GitLabはファイルの変更された部分のみを表示します。
この例は、テキストファイルへの変更を示しています。デフォルトの構文ハイライトのテーマでは、次のようになっています:
- _現在_のバージョンは赤で表示され、行の先頭にマイナス(
-)記号が表示されます。 - _提案_されたバージョンは緑色で表示され、行の先頭にプラス(
+)記号が表示されます。
差分の各ファイルのヘッダーには、次のものが含まれています:
- ファイルの内容を非表示にする( ): このファイルに対するすべての変更を非表示にします。
- パス: このファイルへのフルパス。このパスをコピーするには、ファイルのパスをコピー( )を選択します。
- Lines changed: このファイルで追加および削除された行数。
+2 -2の形式で表示されます。 - 閲覧済み: このチェックボックスをオンにすると、ファイルが再度変更されるまでファイルが閲覧済みに設定されます。
- このファイルにコメントする( ): 特定の行にコメントを固定せずに、ファイルに一般的なコメントを残します。
- オプション: ( )を選択して、その他のファイル表示オプションを表示します。
差分には、ファイルの左側にあるナビゲーションとコメントの補助機能も含まれています(ガター内):
- コンテキストをさらに表示: 以前の20行( )を選択すると、前の20行の変更されていない行が表示されます。次の20行( )を選択すると、次の20行の変更されていない行が表示されます。
- 行番号は2つの列に表示されます。前の行番号は左側に、提案された行番号は右側に表示されます。行を操作するには、次の手順に従います:
- コメントオプションを表示するには、行番号にカーソルを合わせます。
- 行へのリンクをコピーするには、Commandを押しながら行番号を選択し、Copy link address(リンクアドレスをコピー)を選択します。
- 行をハイライト表示するには、行番号を選択します。
変更されたファイルの一覧を表示する
ファイルブラウザを使用して、次の手順でマージリクエストで変更されたファイルの一覧を表示します:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択し、マージリクエストを探します。
- マージリクエストのタイトルの下にある変更を選択します。
- ファイルブラウザを表示( )を選択するか、Fを押してファイルツリーを表示します。
- ネストを示すツリー表示の場合は、ツリービュー( )を選択します。
- ネストなしのファイル一覧表示の場合は、リスト表示( )を選択します。
マージリクエスト内のすべての変更を表示する
マージリクエストに含まれる変更の差分を表示するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択し、マージリクエストを探します。
- マージリクエストのタイトルの下にある変更を選択します。
- マージリクエストで多数のファイルが変更された場合は、特定のファイルに直接ジャンプできます:
- ファイルブラウザを表示( )を選択するか、Fを押してファイルツリーを表示します。
- 表示するファイルを選択します。
- ファイルブラウザを非表示にするには、ファイルブラウザを表示を選択するか、もう一度Fを押します。
GitLabは、パフォーマンスを向上させるために、多くの変更を含むファイルを折りたたみ、次のメッセージを表示します: 一部の変更は表示しません。そのファイルの変更を表示するには、ファイルを展開を選択します。
リンクされたファイルを最初に表示する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com
マージリクエストのリンクをチームメンバーと共有するときに、変更されたファイルの一覧で特定のファイルを最初に表示したい場合があります。目的のファイルを最初に表示するマージリクエストリンクをコピーするには、次の手順に従います:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
コード > マージリクエストを選択し、マージリクエストを探します。
マージリクエストのタイトルの下にある変更を選択します。
最初に表示するファイルを検索します。ファイル名を右クリックして、そのファイルへのリンクをコピーします。
そのリンクにアクセスすると、選択したファイルが一覧の一番上に表示されます。ファイルブラウザには、ファイル名の横にリンクアイコン( )が表示されます:
生成されたファイルを折りたたむ
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
レビュー担当者がコードレビューの実行に必要なファイルに集中できるようにするため、GitLabはいくつかの一般的なタイプの生成済みファイルを折りたたみます。これらのファイルでコードレビューが必要となることはめったにありません。したがって、GitLabはデフォルトで折りたたんでいます:
.nib、.xcworkspacedata、または.xcurserstateの拡張子を持つファイル。- ロックファイルなど
package-lock.jsonやGopkg.lockなどのパッケージロックファイル。 node_modulesフォルダー内のファイル。- 縮小された
jsまたはcssファイル。 - ソースマップ参照ファイル。
- プロトコルバッファコンパイラによって生成されたファイルを含む、生成されたファイル。
ファイルまたはパスを生成されたものとしてマークするには、.gitattributesファイルでそのgitlab-generated属性を設定します。
折りたたまれたファイルを表示する
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択し、マージリクエストを探します。
- マージリクエストのタイトルの下にある変更を選択します。
- 表示するファイルを検索し、ファイルを展開を選択します。
ファイルタイプの折りたたみ動作を設定する
ファイルタイプのデフォルトの折りたたみ動作を変更するには、次の手順に従います:
.gitattributesファイルがプロジェクトのルートディレクトリに存在しない場合は、この名前で空のファイルを作成します。変更するファイルタイプごとに、ファイル拡張子と目的の動作を宣言する行を次のように
.gitattributesファイルに追加します:# Collapse all files with a .txt extension *.txt gitlab-generated # Collapse all files within the docs directory docs/** gitlab-generated # Do not collapse package-lock.json package-lock.json -gitlab-generated変更をコミット、プッシュ、マージしてデフォルトブランチに反映します。
変更がデフォルトブランチにマージされた後、プロジェクト内のこのタイプのすべてのファイルは、マージリクエストでこの動作を使用します。
GitLabが生成されたファイルを検出する方法に関する技術的な詳細については、go-enryリポジトリを参照してください。
一度に1つのファイルを表示する
大規模なマージリクエストの場合は、一度に1つのファイルを確認できます。この設定は、ユーザー設定で変更するか、マージリクエストをレビューするときに変更できます。マージリクエストでこの設定を変更すると、ユーザー設定も更新されます。
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
コード > マージリクエストを選択し、マージリクエストを探します。
マージリクエストのタイトルの下にある変更を選択します。
設定( )を選択します。
一度に1つのファイルを表示を選択またはクリアします。
- 左側のサイドバーで、自分のアバターを選択します。
- 設定を選択します。
- 動作セクションまでスクロールし、マージリクエストの変更タブに一度に1つのファイルを表示するチェックボックスをオンにします。
- 変更を保存を選択します。
この設定が有効になっているときに表示する別のファイルを選択するには、次のいずれかを行います:
- ファイルの末尾までスクロールし、前ページまたは次へのいずれかを選択します。
- キーボードショートカットが有効になっている場合は、[、]、k、またはjを押します。
- ファイルブラウザを表示( )を選択し、表示する別のファイルを選択します。
変更を比較する
マージリクエストの変更は、次のいずれかで表示できます:
- インライン: 変更が縦に表示されます。行の古いバージョンが最初に表示され、そのすぐ下に新しいバージョンが表示されます。インラインモードは、多くの場合で単一行の変更に適しています。
- 並べて表示: 行の古いバージョンと新しいバージョンが別々の列に表示されます。並べて表示モードは、多くの場合、多数の連続する行に対して影響のある変更に適しています。
マージリクエストで変更された行の表示方法を変更するには、次の手順に従います:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
コード > マージリクエストを選択し、マージリクエストを探します。
タイトルの下にある変更を選択します。
設定( )を選択します。並べて表示またはインラインのいずれかを選択します。この例は、GitLabが同じ変更をインラインモードと並べて表示モードの両方でどのようにレンダリングするかを示しています:
マージリクエストでコードを説明する
- プラン: Premium、Ultimate
- アドオン: GitLab Duo ProまたはEnterprise、GitLab Duo with Amazon Q
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
他の人が作成したコードを理解するのに多くの時間を費やしている場合、またはなじみのない言語で書かれたコードを理解するのに苦労している場合は、GitLab Duoにコードの説明を依頼できます。
前提要件:
- 実験的機能とベータ機能の設定が有効になっているグループに少なくとも1つ所属している必要があります。
- プロジェクトを表示するためのアクセス権が必要です。
マージリクエストでコードを説明するには、次の手順に従います:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
コード > マージリクエストを選択し、次にマージリクエストを選択します。
変更を選択します。
説明するファイルで、3つのドット( )を選択し、View File @ $SHAを選択します。
別のタブが開き、最新の変更を含むフルファイルが表示されます。
新しいタブで、説明する行を選択します。
左側で、疑問符( )を選択します。表示するには、選択した最初の行までスクロールする必要がある場合があります。
Duo Chatがコードを説明します。説明の生成には時間がかかる場合があります。
必要に応じて、説明の品質に関するフィードバックを提供できます。
大規模言語モデルが正しい結果を生成することを保証することはできません。説明は注意して使用してください。
次の場所でもコードを説明できます:
コメントを展開または折りたたむ
コードの変更をレビューするときに、インラインコメントを非表示にできます:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択し、マージリクエストを探します。
- タイトルの下にある変更を選択します。
- 非表示にするコメントが含まれているファイルまでスクロールします。
- コメントが添付されている行までスクロールします。ガターマージンで、折りたたむ( )を選択します:

インラインコメントを展開して再度表示するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択し、マージリクエストを探します。
- タイトルの下にある変更を選択します。
- 表示する折りたたみまれたコメントが含まれているファイルまでスクロールします。
- コメントが添付されている行までスクロールします。ガターマージンで、ユーザーアバターを選択します:

ホワイトスペースの変更を無視する
ホワイトスペースの変更により、マージリクエストの実質的な変更が見えにくくなる可能性があります。ホワイトスペースの変更を非表示または表示するように選択できます:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
コード > マージリクエストを選択し、マージリクエストを探します。
タイトルの下にある変更を選択します。
変更されたファイルの一覧の前に、設定( )を選択します。
ホワイトスペースの変更を表示するを選択またはクリアします:
ファイルに閲覧済みマークを付ける
多数のファイルがあるマージリクエストを複数回レビューする際に、すでにレビュー済みのファイルは無視できます。最後のレビュー以降に変更されていないファイルを非表示にするには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択し、マージリクエストを探します。
- タイトルの下にある変更を選択します。
- ファイルのヘッダーで、閲覧済みチェックボックスを選択します。
閲覧済みとしてマークされたファイルは、以下の場合を除き、再度表示されることはありません:
- ファイルの内容が変更された場合。
- 閲覧済みチェックボックスをオフにした場合。
差分にマージリクエストの競合を表示する
ターゲットブランチにすでにある変更を表示しないようにするため、マージリクエストのソースブランチとターゲットブランチのHEADを比較します。
ソースブランチとターゲットブランチが競合する場合、マージリクエストの差分で競合するファイルごとにアラートを表示します:
差分にスキャナーの発見を表示する
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
差分にスキャナーの発見を表示できます。詳細については、以下を参照してください:
マージリクエストの変更をダウンロードする
GitLabの外部で使用するために、マージリクエストに含まれる変更をダウンロードできます。
差分として
変更を差分としてダウンロードするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択して、マージリクエストを見つけます。
- マージリクエストを選択します。
- 右上隅で、コード > テキスト差分を選択します。
マージリクエストのURLがわかっている場合は、URLに.diffを付加して、コマンドラインから差分をダウンロードすることもできます。この例では、マージリクエスト000000の差分をダウンロードします:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diffワンラインCLIコマンドで差分をダウンロードして適用するには:
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff" | git applyパッチファイルとして
変更をパッチファイルとしてダウンロードするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択して、マージリクエストを見つけます。
- マージリクエストを選択します。
- 右上隅で、コード > パッチを選択します。
マージリクエストのURLがわかっている場合は、URLに.patchを付加して、コマンドラインからパッチをダウンロードすることもできます。この例では、マージリクエスト000000のパッチファイルをダウンロードします:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patchgit amを使用してパッチをダウンロードして適用するには:
# Download and preview the patch
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" > changes.patch
git apply --check changes.patch
# Apply the patch
git am changes.patch1つのコマンドでパッチをダウンロードして適用することもできます:
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" | git amgit amは、デフォルトで-p1オプションを使用します。詳細については、git-applyを参照してください。
マージリクエストファイルにコメントを追加する
マージリクエストの差分ファイルにコメントを追加できます。これらのコメントは、リベースやファイルの変更後も保持されます。
マージリクエストファイルにコメントを追加するには、次の手順に従います:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > マージリクエストを選択して、マージリクエストを見つけます。
- 変更を選択します。
- コメントしたいファイルのヘッダーで、このファイルにコメントする ( ) を選択します。
画像にコメントを追加する
マージリクエストとコミットの詳細表示では、画像にコメントを追加できます。このコメントはスレッドにもなります。
- 画像の上にマウスカーソルを合わせます。
- コメントする場所を選択します。
GitLabは、画像にアイコンとコメントフィールドを表示します。





![[Preferences]メニューが展開され、[Show whitespace changes]オプションが選択されたマージリクエストの差分。](/user/project/merge_requests/img/merge_request_diff_v17_10.png)
