Patch Set 1:

In general I like the approach. 

I miss a visual hint which branch is currently checked out when this 
is buried in some closed tree nodes. You could either put some decorator on the parent nodes or display the full ref of the currently checked out branch name as additional information (in light grey font) appended to the "Branches" node :

e.g. for jgit repo:

jgit
    > Branches - refs/heads/master
        > Local Branches
            x master
        > Remote Branches
            > origin
                master  
                stable-0.7
                stable-0.8

The same logic as in the package explorer decorators could be used to display the corresponding tag or shortened commitID when not the tip of a branch is checked out. This would mimic c-git showing this information in the command line prompt.