Git Improvements, Top Eclipse Feature Luna #3

Git Improvements, Top Eclipse Feature Luna #3

Eclipse release week is here and Eclipse Luna will be available on Wednesday June 25th. Eclipse release week also means that we are into the Top 3 Eclipse Features on my traditional Eclipse Top 10 List. Number 3 on my list is from the Eclipse Git (EGit / JGit) project. EGit and JGit are arguably one of the most important projects for Eclipse. Self hosting your own tools, or eating your own dogfoodis an important part of the Eclipse development story. If you do not use your own tools, then how can you expect others to use them? EGit started in 2009, and as the project matured the Eclipse team was able to migrate all the source code from CVS to Git. Every year since 2009, EGit has greatly improved.

Over the past 12 months, a number of notable improvements have been added to the Eclipse Git Tooling. The history view received the most attention, making it one of the most useful views during development. From the history view, you can now directly edit an existing commit.

Screen Shot 2014-06-23 at 11.11.08 AM

Screen Shot 2014-06-23 at 11.11.42 AM

And if consecutive commits are selected, you can squash them into a single one.

Screen Shot 2014-06-23 at 11.35.17 AM

You can also perform complex interactive rebase operations directly from Eclipse (available since December 2013). Starting by selecting the commit you wish to begin the rebase from, and then choosing Rebase Interactive.

Screen Shot 2014-06-23 at 11.18.06 AM

You can squash, fixup, edit, reword or remove (skip) commits. You can even reorder commits by moving them up and down in the list.

Screen Shot 2014-06-23 at 11.21.14 AM

Remember that with both interactive rebase and commit editing, the actual commits will be modified. If you’ve already pushed the commits to a public repository, you should take care before doing either of these operations.

Other improvements include a flag on the stash dialog to stash untracked changes.

Screen Shot 2014-06-23 at 12.50.26 PM

The blame annotations have been improved to include the diff as well as a link the the parent commit (Available since December 2013).

Screen Shot 2014-06-23 at 11.32.03 AMFinally, there have been a number of performance and usability improvements since the Kepler release. You can see the entire New and Noteworthy of EGit and JGit.

For more Eclipse Tips and Tricks, follow me on Twitter.