5 JetBrains Plugins to Upgrade Your Built-In Git Support
The Git plugin that comes bundled with all JetBrains IDEs is quite impressive, but there are even more features you can enhance your IDE’s Git support with.
Join the DZone community and get the full member experience.
Join For FreeThe 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 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!
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 the 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!
GitToolBox
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 Branch Cleaner
Git Branch Cleaner is a 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, plugins 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 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, minimizing 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!
I hope some of the awesome plugins I lined up in this post make working with Git easier and smoother for you. Happy hacking!
Published at DZone with permission of Thomas Scott. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments