How to review a pull request in IntelliJ IDEA?
Solution 1
The formal support for GitHub (or BitBucket for that matter) pull request review is still pending (issue IDEA-85079
, opened in 2012). It will be implemented in the 2020.2 release (see here).
Since 2016, it has support for GitHub PR in 2018.3, as commented here:
This is mostly read-only mode for now - one could create a local branch from a PR or open it on GitHub to comment/close it - but this is only the first step.
In future releases we plan to add additional functionality - ability to assign PRs IDEA-146659, merge/close them directly from IDE, comment on the PR and specific lines of code - IDEA-64794.
But: (Sept. 2019)
It's not at all obvious how to open the PR page. I had to look up the release notes to discover it's a double click. Discoverability of the PR tab is also poor; it isn't visible by default and there's no way to reach it from the version control tab, which is where I looked first.
Jan. 2020: Dan Oak mentions in the comments that:
CodeStream
provides a tool to integrate GitHub PRs into IDEA.
See Pull Request Integrations:
CodeStream can display merged pull request comments in your editor as annotations on the current version of your
2016:
That leaves you with a manual process, fetching a PR, and comparing the branches:
git fetch origin pull/1234/head:pr-1234
git fetch origin refs/pull-requests/1234/from:pr-1234
(See also "How to fetch Pull Requests in BitBucket")
Then you can compare branches in IntelliJ.
Solution 2
Most up-to-date information (March 2021)
Now, IntelliJ 2020.2 fully supports reviewing Pull Requests.
Accessing the feature
You can either navigate to: Main menu > VCS > Git > View Pull Requests.
Or it might be in your left "side-menu" (here the third option from the top):
Further information
It seems to be mostly an integration for GitHub (source):
Now the entire GitHub pull request workflow can be done directly from IntelliJ IDEA. It’s possible to browse, assign, manage, and even merge pull requests, view the timeline and inline comments, submit comments and reviews, and accept changes.
A more in-depth description of all the VCS-related features introduced can be found here:
Full GitHub Pull Requests support
We are excited to announce that IntelliJ IDEA 2020.2 will come with full support for GitHub Pull Requests!
We introduced initial support for GitHub Pull Requests with v2018.3, and we’ve been enhancing this functionality ever since. Previously, the IDE had some useful features, such as the GitHub tool window with a list of all pull requests associated with the repository, the Timeline view for a pull request, which opens in the editor, and the ability to view comments in diffs and create comments of your own. But those features were mostly for viewing pull requests and not for interacting with them.
With the upcoming IntelliJ IDEA 2020.2, you’ll be able to browse, assign, manage, and even merge pull requests, view the timeline and in-line comments, submit comments and reviews, and accept changes.
You no longer need to switch between the browser and your IDE. The entire Pull Request workflow can now be completed from within IntelliJ IDEA!
More previews
And two more sneak-peaks for the Review and Merge:
Creating PRs
Moreover, as of 2021.1, you can create Pull Requests, too:
Solution 3
I find it easier to append fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
under [remote "origin"] section inside .git/config so it looks like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = xxxxxxxxxxxxxxx.git
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
And then git fetch origin
fetches all pull requests. I think this should work for BitBucket too though I haven't tested it.
Solution 4
To view the Pull request and changes, use the following steps in Intellij:
- Go to version control.
- Click logs. There will a list of all commits.
- Select a perticular commits.
- On the right window, you will get the list of changes in this commit.
- Select show parent changes.
- Click on the files which show changes and then you will able to see all the code changes.
galusben
Updated on July 19, 2022Comments
-
galusben almost 2 years
We are using git, Bitbucket, and IntelliJ IDEA. The project is mainly written in Java and Groovy.
Is there a good way to review pull requests right from IntelliJ?
-
galusben over 7 yearsI was looking for a bitbucket solution, but I guess this will come even after the github one.
-
VonC over 7 years@gba Actually, the problem (and current solution) is the same for bitBucket pull requests
-
VonC over 7 years@gba I have edited the answer to include the refspec valid for BitBucket (instead of just GitHub)
-
Shashwat Kumar over 6 yearsI don't get then you compare branches in intellij. After fetching pull request, what to do. Pull request is not shown as branch.
-
VonC over 6 years@ShashwatKumar the refspec
refs/pull-requests/1234/from:pr-1234
should create the local branchpr-1234
. If not, please open a new questio describing your issue and current setup. -
Shashwat Kumar over 6 yearsYup got it. Probably branch name pull/1234/from us wrong
-
AlikElzin-kilaka about 6 years@VonC - How do you leave PR comments in this process?
-
VonC about 6 years@AlikElzin-kilaka I don't know if PR comments are supported on the client side (here, the IDE IntelliJ IDEA): this is more a server-side feature (on GitHub or BitBucket directly)
-
galusben almost 5 yearsA pull request may have multiple commits. Also, I would expect full integration with github and bitbucket for adding comments, tasks, approving, merging etc’. Thanks anyway :-)
-
http8086 over 4 yearsFor BitBucket: that's nice. but how about gitlab?
-
VonC over 4 years@workplaylifecycle There exists a manual process with merge requests for GitLab (which are the equivalent of pull requests for GitHub or BitBucket). See docs.gitlab.com/ee/user/project/merge_requests/…
-
rvazquezglez over 4 yearsI think it works only for Github, I tried to do it for a project hosted on Bitbucket and the "View pull request" option wasn't there. However, when I tried with a Github project it is there.
-
rpajaziti over 4 yearsThanks a lot @KayV. You helped a lot, even though i did knew about this, i forgot to use it on PR's.
-
Dan Oak over 4 yearscodestream.com provides a tool to integrate GitHub PRs into IDEA. See github.com/TeamCodeStream/CodeStream/wiki/Pull-Request-Integrations
-
VonC over 4 years@DanOak Thank you for this update. I have included your comment in the answer for more visibility.
-
bahti about 4 yearsI am not seeing either with GHE.
-
mochadwi about 4 yearssame with gitlab, it only support github by default
-
vaughan about 4 yearsFind Pull Request plugin (plugins.jetbrains.com/plugin/8262-find-pull-request) can help add comments if you prefer not to use the modal diff view in IntelliJ PR tool window.
-
brianc over 3 years@VonC codestream.com now has a more robust GitHub PR integration (you can create/comment/merge PRs) see codestream.com/blog/codestream-9-0-puts-github-in-your-ide
-
VonC over 3 years@brianc I agree. I believe I do mention Codestream in the answer.
-
Netsab612 over 3 yearsIdem, sadly, it doesn't display the option for my Gitlab project
-
ssgao over 3 yearsDoesn't seem like code navigation is turned on. Kinda defeat the purpose of having it inside the IDE. I wonder if that feature is in the backlog
-
markeissler about 3 yearsThis works in Goland as well. Important to note is that if you are using .ssh/config, Jetbrains has set this up so that the hostname must match github.com exactly. Not a great way to implement this feature! A work around (if you have multiple github accounts in .ssh/config is to name the host as [email protected], set the user to
git
and that sort of works (update: can view comments, commits, not diffs). Also, you may need to delete your github account (in Intellij/Goland, etc) and add it again via the PR interface when it prompts for login, or you could get an already added error. -
Yeikel about 3 yearsThis does not seem to work with Github enterprise as @bahti pointed out :(
-
spyro about 3 yearsSeems not to work with GitLab, I entered my server, created an access token but I just can't find the view.
-
ytoledano about 3 yearsThis does work for me with Guthub Enterprise
-
jlee over 2 yearsdoes anyone know if there is way to use the suggest changes feature directly from intelliJ?