# Review incoming GitLab merge requests

> **TL;DR**
> GitLab settings: `Settings | Version Control | GitLab`
>
>
>
> Required plugins: Git and GitLab (bundled and enabled by default)

[GitLab merge requests](https://docs.gitlab.com/ee/user/project/merge_requests/) are used in open-source projects or in some corporate workflows to manage changes from contributors and to initiate code review before such changes are merged.

You can receive a request to review code changes from your colleague or a fellow contributor. As a merge request reviewer, you can give your feedback directly in IntelliJ IDEA:

1.  [Select a pending review request](#gitlab-merge-requests-tools) in the Merge Requests tool window.

2.  [Submit your comments and suggestions](#review-merge-request).

3.  [Merge or close the merge request](#merge-or-close-an-incoming-merge-request).

## Manage incoming merge requests

If you are a project maintainer, and you have a GitLab remote configured for your project, you can view and manage incoming merge requests directly from IntelliJ IDEA.

To open the Merge Requests tool window, click ![GitLab icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/vcs-gitlab.org.jetbrains.plugins.gitlab.expui.gitLabToolWindow.svg) in the tool window bar on the left.

![Merge requests filters](https://resources.jetbrains.com.cn/help/img/idea/2026.2/merge_request_filters.png)

Alternatively, go to `Git | GitLab | View Merge Requests` in the main menu.

Use the Merge Requests tool window to:

* Filter requests by state, author, assignee, reviewer, and label.

* Jump to a merge request on GitLab: right-click a merge request and choose Open Merge Request on GitLab from the context menu.

When you double-click a merge request from the list, you can see the overview and timeline tabs.

![Merge request overview with highlighted options](https://resources.jetbrains.com.cn/help/img/idea/2026.2/merge_request_options.png)

In this view, you can:

* View the timeline of a selected merge request to track its progression and leave comments for the whole merge request.

* Select a particular commit to filter the list of changes.

* Create a local branch based on incoming changes: open a merge request, click the branch with incoming changes, and choose Checkout 'branch name' in the context menu.

* Investigate branch-related changes in the Log tab of the Git tool window: open a merge request, click the branch with incoming changes, and choose Show 'branch name' in Git Log in the context menu. This will help you navigate the code related to this merge request, make sure the project builds and the tests pass.

To learn about more options, refer to [Give feedback to a merge request](#review-merge-request).

> **Tip:**
> To make sure you always have the latest information about the merge requests, press `Ctrl+F5` (Windows), `⌘ R` (macOS), `⌃ F5` (IntelliJ IDEA Classic (macOS)), `⌘ R` (macOS System Shortcuts), `Ctrl+F5` (XWin), `Ctrl+F5` (GNOME), `Ctrl+5` (KDE), `Ctrl+F5` (Emacs), `Ctrl+F5` (Sublime Text), `⌘ R` (Sublime Text (macOS)), `Ctrl+F5` (NetBeans), `Ctrl+Alt+R` (Visual Studio), `⌘ ⌥ R` (Visual Studio (macOS)), `Ctrl+F5` (Eclipse), `Ctrl+F5` (Eclipse (macOS)). Alternatively, right-click the necessary merge request and select Refresh List.

## Give feedback to a merge request

When there are changes that require your attention, a white dot marks the GitLab tool window and the unseen merge requests are marked with blue dots.

Procedure:

1. In the main menu, go to `Git | GitLab | View Merge Requests`.

2. In the list of merge requests, select the one you want to work with and double-click it.

IntelliJ IDEA opens an overview of the selected merge request.

![Merge Request overview](https://resources.jetbrains.com.cn/help/img/idea/2026.2/merge_request_overview.png)

* Next to the title, there is a merge request number. Click it if you want to open the merge request on GitLab.

* Click the View Timeline button to open the timeline and leave comments for the whole merge request.

* If a merge request consists of several commits, focus on a specific one by selecting it in the Changes from drop-down menu. Navigate between commits by pressing the up and down buttons.

* Right-click any file to open the context menu for this file.

* In case a reviewer has left any comments or suggestions, there is a counter with the number of comments in the list of files.

3. To start your review, сlick the branch with incoming changes and choose Checkout 'branch name' in the context menu.

![Checkout branch with incoming changes](https://resources.jetbrains.com.cn/help/img/idea/2026.2/local_branch_from_mr.png)

By checking out the branch, you get the full context to test the incoming changes and check how they work.

After the successful checkout, IntelliJ IDEA starts the Review mode. That means you can see the highlighted changes and comments not only in the Diff tab (`Ctrl+D` (Windows), `⌘ D` (macOS), `⌘ D` (IntelliJ IDEA Classic (macOS)), `⌘ D` (macOS System Shortcuts), `Ctrl+D` (XWin), `Ctrl+D` (GNOME), `Ctrl+D` (KDE), `Ctrl+D` (Emacs), `Ctrl+D` (Sublime Text), `⌘ D` (Sublime Text (macOS)), `Ctrl+D` (NetBeans), `Ctrl+D` (Visual Studio), `⌘ D` (Visual Studio (macOS)), `Ctrl+D` (Eclipse), `⌘ D` (Eclipse (macOS))), but right in the editor (`F4` (Windows), `⌘ ↓` (macOS), `F4` (IntelliJ IDEA Classic (macOS)), `F4` (macOS System Shortcuts), `F4` (XWin), `F4` (GNOME), `F4` (KDE), `F4` (Emacs), `F4` (Sublime Text), `F4` (Sublime Text (macOS)), `F4` (NetBeans), `F4` (Visual Studio), `⌘ ↓` (Visual Studio (macOS)), `F12` (Eclipse), `F3` (Eclipse (macOS))).

> **Note:**
> You can configure the review mode or disable it in the top-right corner of the editor by clicking Review Mode.
>
>
>
> ![Popup with options](https://resources.jetbrains.com.cn/help/img/idea/2026.2/gl_disable_review_mode.png)
>
> You can also customize the color used to indicate changed lines in `Settings | Editor | Color Scheme | Code Review`.

4. Select the file you want to investigate, right-click it and select Jump to Source `F4` (Windows), `⌘ ↓` (macOS), `F4` (IntelliJ IDEA Classic (macOS)), `F4` (macOS System Shortcuts), `F4` (XWin), `F4` (GNOME), `F4` (KDE), `F4` (Emacs), `F4` (Sublime Text), `F4` (Sublime Text (macOS)), `F4` (NetBeans), `F4` (Visual Studio), `⌘ ↓` (Visual Studio (macOS)), `F12` (Eclipse), `F3` (Eclipse (macOS)) from the context menu.

In the file that opens, pink markers in the gutter indicate the changes and the comments that are available for review.

Clicking the comment icons in the gutter will hide and open the comments.

![Changes and comments in the review mode](https://resources.jetbrains.com.cn/help/img/idea/2026.2/gh_review_mark_gutter.png)

Clicking the pink markers reveals a popup displaying the original code.

![Review mode - view differences](https://resources.jetbrains.com.cn/help/img/idea/2026.2/github_pull_request_review_view_diff.png)

5. Hover over the gutter and click ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.add.svg) to leave a comment.

![Comment field with a suggestion](https://resources.jetbrains.com.cn/help/img/idea/2026.2/gl_add_comment.png)

* Select Add Comment to post a comment immediately and get other reviewers notified.

* Select Save as draft to add multiple comments. Before you submit your review, your comments are marked as Pending, and you can edit or delete them.

To comment on multiple lines, either click ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.add.svg) and drag the blue borders to cover the desired range, or highlight the text first and then click ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.add.svg).

> **Note:**
> Multiline comments are supported in GitLab 18.6 and later.

To mention a user, type `@` and select the required username from the suggestion popup. After the mention is added, you can click it to open the user's profile in the browser.

To include attachments in your comments, drag a file directly into the comment box or right-click within the box and select ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.upload.svg) Upload File. If you have a file already copied to your clipboard, you can also select Paste in the context menu. Depending on how the GitLab API processes the file, it will be displayed as either an inline image or a hyperlink.

Navigate between the comments by using ![the Up button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.up.svg) / ![the Down button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.down.svg) in the upper toolbar or pressing `Ctrl+Alt+Up` (Windows), `⌘ ⌥ ↑` (macOS), `⌘ ⌥ ↑` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ↑` (macOS System Shortcuts), `Ctrl+Alt+Up` (XWin), `Alt+Shift+Up` (GNOME), `Ctrl+Alt+Up` (KDE), `Ctrl+Alt+Up` (Emacs), `Ctrl+Alt+Up` (Sublime Text), `Ctrl+Alt+Up` (Sublime Text (macOS)), `Ctrl+Alt+Up` (NetBeans), `Ctrl+Alt+Up` (Visual Studio), `⌘ ⌥ ↑` (Visual Studio (macOS)), `Ctrl+Alt+Up` (Eclipse), `Ctrl+Alt+Up` (Eclipse (macOS)) / `Ctrl+Alt+Down` (Windows), `⌘ ⌥ ↓` (macOS), `⌘ ⌥ ↓` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ↓` (macOS System Shortcuts), `Ctrl+Alt+Down` (XWin), `Alt+Shift+Down` (GNOME), `Ctrl+Alt+Down` (KDE), `Ctrl+Alt+Down` (Emacs), `Ctrl+Alt+Down` (Sublime Text), `Ctrl+Alt+Down` (Sublime Text (macOS)), `Ctrl+Alt+Down` (NetBeans), `Ctrl+Alt+Down` (Visual Studio), `⌘ ⌥ ↓` (Visual Studio (macOS)), `Ctrl+Alt+Down` (Eclipse), `Ctrl+Alt+Down` (Eclipse (macOS)).

> **Note:**
> If you do not have the option to leave a comment, check your access rights to the GitLab repository.

6. To place a high-level comment on a merge request as a whole, open the timeline view of this merge request.

7. Click Submit Review in the merge request details tab to submit the review or approve the merge request.

![Submit review dialog](https://resources.jetbrains.com.cn/help/img/idea/2026.2/gl_submit_review.png)

Select one of the possible outcomes:

* Approve: to approve merging changes.

* Submit: to submit your feedback without an approval.

If you change your mind, you can later click the Revoke Approval button.

If the work with the merge request is done, you can merge or close it in the same merge request details tab.

## Merge or close an incoming merge request

If you have the necessary permissions assigned by the repository owner, after submitting your review and solving all the issues, you can merge or close the merge request.

Procedure:

1. In the main menu, go to `Git | GitLab | View Merge Requests`.

2. In the list of merge requests, select the one you want to work with and double-click it.

3. At the bottom of the overview, there is a button with merge options that differ depending on the stage of the review process and your permissions.

* If you have approved the updates after the review, you can merge the merge request by clicking Merge. For more merge options, click ![the Down arrow](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.chevronDown.svg) and select Squash and Merge to squash the commits with your changes into one before merging them.

* Click ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.moreVertical.svg) More and select Request Review if you need another opinion on this merge request or Close Merge Request if you do not want to merge it.

Watch this video tutorial on how to work with GitLab merge requests:

[Video](https://www.youtube.com/v/I_k9v9bBaCA)

