5 JetBrains plugins to upgrade the built-in Git support to the next level!

5 JetBrains plugins to upgrade the built-in Git support to the next level!

Featured on daily.dev

The Git plugin that comes bundled with all JetBrains IDEs is actually quite impressive, it's a full blown Git client in its own right with almost all the features of a standalone client such as SourceTree, Tower or GitKraken but built into the IDE.

But there are even more features you can enhance your IDE’s Git support with - allow me to present to you 5 plugins that build on top of Git and supercharge it with cool new superpowers!

GitLive

This plugin is for all you team players out there, GitLive makes Git, well, live.

It adds a tool window where you can see the collaborators from your repository, if they are online, and all their work in progress (branches/issues/PRs they are working on not yet merged in) where you can view diffs of the file changes, all updated in real-time.

Their flagship feature, instant merge conflict detection, provides early warning of potential merge conflicts. Real-time gutter indicators show ​​where your teammates have made changes to the file you’re currently working on, which can be very useful, especially on the bigger projects.

On top of that, GitLive also supports starting a Code With Me session with a fellow collaborator via a single click (or keyboard shortcut), and for those pesky collaborators that use VS Code there is even cross-IDE codeshare support!

Top reason to try it out: Bring communication and collaboration within your team to the next level!

gitlive.png

Git Machete

Producing small PRs is definitely a good practice, but it’s easy to get lost in multiple branches and stacked PRs. Git Machete is a useful plugin that helps you keep track of all the branches, their relationship with each other and with the remote repository. It also aims at automation of git actions and makes rebase/push/pull hassle-free (just a click on the button!), especially in the situation where there are a lot of branches and PRs.

This plugin automatically discovers branch layout and creates a tree-shaped graph of branches (in case of any changes or inaccuracies you can also modify it manually in .git/machete text file). The graph provides useful information about the branches: sync to parent status, sync to remote status and custom annotation (there is also an option to toggle the unique commits for branches).

After right-clicking on a chosen branch in the graph, you can perform git actions like rebase/push/pull on that branch without a need to switch from your current branch, which is very handy!

Top reason to try it out: Organize your Git repository and automate your workflow!

git-machete-2.png

GitToollBox

The plugin adds extra features to the default IntelliJ Git support. With just one glance you can see how many commits is your branch ahead or behind, track uncommitted changes or easily perform branch cleanup. GitToolBox also automatically fetches changes from the upstream repository, with configurable frequency.

The biggest perk of using the plugin is the inline blame annotation, as IntelliJ does not come with a similar feature. Git Blame Display will show the author, date and time and commit subject for the current line. Additionally, with the Show Blame Details action, you can get more detailed information, like commit hash or full message.

Top reason to try it out: Extend Git with additional features and benefit from inline blame annotation!

git-toolbox 2.png

Git Branch Cleaner

Simple yet effective plugin, that deletes branches you don’t need anymore. All the branches without tracking remotes are going to be listed (except the current branch) and checked if they are fully merged to the current branch. Branches that are not merged to HEAD are not selected by default.

In the newest versions, plugin can be found via searched tools: Navigate > Search Everywhere > Delete Old Branches instead of VCS > Git > Delete Old Branches.

Top reason to try it out: Get rid of the clutter and keep your branches organized!

git-branch-cleaner.png

Git Bisect Run

Git Bisect is one of those Git features that are very handy but can be intimidating. Git Bisect Run is a handy plugin that automates the process and makes troubleshooting much faster.

The plugin emulates git bisect run behavior. With just a click it will perform Bisect Run and all the appropriate Git commands depending on test invocation results, minimising our manual input. Once the plugin singles out the bad commit, a popup notification will appear in the IDE (as it’s language agnostic, it works in all JetBrians IDEs).

Top reason to try it out: Makes bug hunting easier than ever by automating the process!

git-bisect-3.png

 

I hope some of the awesome plugins I lined up in this post make working with Git easier and smoother for you. Happy hacking!