Jon Tirsen
Jon Tirsen

Reputation: 4990

IntelliJ: Viewing diff of all changed files between local and a git commit/branch

Using IntelliJ's diff viewer is a very nice way to review code because you can make changes in your local version with all the capabilities of the IntelliJ code editor (refactoring, completion, etc).

Unfortunately, I have not worked out how to do the most important thing when you're doing code reviews in IntelliJ, namely: Looking at the diff of all the changed files in the working tree (checked out to the branch you want to merge from) and another branch (the branch you plan to merge into, e.g. "master").

Does anyone know how to do this?

Upvotes: 179

Views: 193698

Answers (7)

Jon Tirsen
Jon Tirsen

Reputation: 4990

This has now been implemented. In order to compare two branches, you do:

  1. Check out one of the branches you want to compare with.
  2. Select the branch you want to compare with in the Git branch popup in the status bar in the bottom right of the IntelliJ window. A popup with some options is shown.
  3. Select the "Compare" option.
  4. This, by default, shows all the commits. You can also select the "Diff" tab to show the actual changes.

This is all described in much greater detail in one of their blog posts.

Upvotes: 121

Mauricio Toledo
Mauricio Toledo

Reputation: 699

If you want to compare the whole project.

  • First. Select/click the project you are working on.
  • Go to Git(tab) > Selected Directory > Compare with branch
  • Then select the branch you want to compare. (ie origin/main)

Then you will get a tree of the different files between branches. You can select each one and compare, edit, delete, add anything you may need.

enter image description here

Upvotes: 2

unknownerror
unknownerror

Reputation: 2515

Though Jon Tirsen's answer is correct, you need to go through entire text in order to understand how to do that.

Here's the images of the same in mac.

  1. I am currently working with hello_world and want to compare with master.

UPDATE: In the new UI, click on Show Diff with Working Tree

enter image description here

  1. Next a window will pop up. Select Files and press cmd + d

enter image description here

  1. Another window which shows diff. You can perform many different types of diff. Use cmd + shift + ] and cmd + shift + [ to shift between files.

enter image description here

Diff Tip: IntelliJ provides advanced diff features. You can check those on the 3rd image.

Upvotes: 89

BlueYoshi
BlueYoshi

Reputation: 1594

This has been changed in the 2020 version update:

You now need to do the following:

  1. Checkout one of the branches you want to compare.

  2. Open the Branches menu.

  3. Select the other branch you want to compare with.

  4. Select "Show Diff with Working Tree".

enter image description here

Upvotes: 75

WesternGun
WesternGun

Reputation: 12728

This is implemented now. You right-click on the project and select "Git - compare with branch..." and choose master branch. Done. Diff all files.

Upvotes: 18

sonal balekai
sonal balekai

Reputation: 395

Right Click on the class and select the Git option where you will see compare with branch option where you can select the particular branch.

Upvotes: 0

urgentx
urgentx

Reputation: 3931

If you just want to compare your currently open file with another branch in a side-by-side fashion, just go to VCS -> Git -> Compare with Branch.

Upvotes: 2

Related Questions