New in 11: Git log gets more power
November 14th, 2011 by Irina Chernushina (JetBrains)The most exciting news for me is that now in forthcoming IntelliJ IDEA 11, we show Git revisions graph!

Now that IntelliJ IDEA can visualize commits links, we’ve added context actions to tag a commit, create (and checkout) new branch, and checkout a selected revision.
I want to specifically mention the highlight actions — now you can see what commits are in “ancestors subgraph” for a selected commit. By default, IntelliJ IDEA shows HEAD subgraph, i.e. you see what commits you have in your working tree now.

It is really convenient when you are checking what commits went into some tag (or branch).
To find any commit in git log (in already shown part), use the new “Goto Commit” action — type commit hash, or description fragment, or branch or tag name, and be navigated to it.

And, finally — when browsing history, sometimes you work with a set of commits and need to track this set.
Now you can mark commits by simply pressing Space and they get stared.


November 14th, 2011 at 5:39 am
Just one word: Sweet!
November 14th, 2011 at 6:12 am
Nice! IMHO the graph should be anti-aliased.
November 14th, 2011 at 6:16 am
Sorry, I’ll say another one: Awesome!
November 14th, 2011 at 6:20 am
When will this be in the EAP?
November 14th, 2011 at 1:32 pm
Yep, antialiasing FTW!
Anyway - great enhancement. Too many times I feel forced to drop to the command line and/or gitg. And sweet memories of working with hgeclipse brings some bitter taste when staring at the very rudimentary Idea git log viewer.
Looking forward to 11.
November 15th, 2011 at 2:34 am
Please! Add same love to mercurial plugin.
_HG_ is new SVN for corp developers, not git.
November 15th, 2011 at 4:05 am
Yes, sure, antialiasing should be done
@Mattias it is already in 110.365, http://confluence.jetbrains.net/display/IDEADEV/IDEA+11+EAP
November 15th, 2011 at 9:14 am
Is there anyway that we can have a similar visual graph of commits for a very specific source file so we can see its activity across branches? For instance, in IntelliJ CVS integration we can right mouse click on a file and show CVS history, it shows all the revisions for the file across branches. Would love to have something similar with the Git integration.
November 15th, 2011 at 12:49 pm
The same for Mercurial please!!!
November 17th, 2011 at 8:10 am
Great feature, very good. But a bit slow yet. On the repository of 5895 commits it takes quite a while to load the graph. Are there plans to improve performance in pipeline, or should I create a ticket for that?
November 17th, 2011 at 12:13 pm
@Yann, you can see file history exactly the same way as for CVS.
@Mykola I would appreciate performance snapshots! =)
November 18th, 2011 at 7:36 am
@Irina, it does show the file history for the current checked out git branch, but what about changes that are on other branches? You don’t see them, unless I have missed something.
November 18th, 2011 at 7:45 am
@Yann You can also use Structure filter in git log, but unfortunately it does not work across renames right now. (If the item that we filter by was renamed, revisions before rename are not shown)
November 21st, 2011 at 5:12 am
@Irina & intellij team great work
Waiting for the mercurial equivalent, but I’m patient ;P
November 22nd, 2011 at 8:40 am
Awesome… But a little bit slow!
November 25th, 2011 at 12:29 pm
@Irina what do you think of the following ideas?
1) Add another VCS Git action on a file alongside show history, something like Filter in Git Log so that it does filter the log for the selected file so you don’t need to navigate in the actual Git log to find the file to filter on.
2) Add an option in the Git Show History so that you can add the –all in the git log command and you then render a new column that shows the branch name (if you could show as a tree like in the CVS show history that would be awesome).
December 1st, 2011 at 5:36 am
@Yann
1) Yes, it’s a good idea! We also wanted to do this. It just haven’t been done yet.
2) In fact, it works already: if you run git log without any filters, it shows “git log –all” results
Branches that commit belongs to are shown in the bottom of the details pane (”Contained in branches”).
It would kill performance if we show branches for every commit just in separate column.
We just show branches for the selected commit, and cache them for the case if you select that commit again.
Also, as I have said above, for the case when you don’t filter results, you can highlight all commits belonging to a branch.
December 1st, 2011 at 5:40 am
NB We had some questions concerning the place where revision graph and git log is located in IntelliJ IDEA (and other products).
- You can see git log for the current project in Changes toolwindow, in “Log” tab, or
- VCS -> Browse VCS Repository -> Show Git Repository Log… - for any optional repository (ies). (You can even open git log for several repositories combined in one table)