Version control improvements in Rider 2018.1

Sharing code is one of the most essential things in our daily developer’s life. Thanks to the IntelliJ front end, Rider always had very strong integration with various VCS providers. Examples are a fast log view with flexible search options as well as a unified/side-by-side diff view with live syntax and inspection highlighting. Many other neat features can added from our plugin repository.

In this post, we will look at partial git commits, additional grouping options and more version control improvements in Rider 2018.1.

Partial git commits

Everyone knows that small commits make it easier to review and track changes, or roll them back if something went wrong. With Rider 2018.1, partial commits (git add -p) let us easily commit only selected changes, so-called chunks, from a file. We can use checkboxes in the diff view of the Commit Changes dialog to select chunks of code that we want to commit (Side-by-side view only):
Creating partial commits

Changelists are a great way to prepare a set of independent commits, where we can easily organize changes and draft commit message. We can always chose to create a new changelist, or use an existing one. The same functionality is available in the left-side gutter:
Moving changes to a changelist

Moving lines to another changelist also works inside the Commit Changes dialog.

Grouping changes

There’s now a new Group by option available in the Local Changes tab and Commit Changes dialog, which allows us to group changes by their directory or repository. This option also supports multiple selections:
Moving changes to a changelist

Note that grouping by repository only appears when maintaining additional submodules and they have been added to the VCS roots as well.

Other improvements

Rider now also highlights hashes in the commit details, and allows us to one-click jump to this commit in the Log tab. This is particularly useful when inspecting cherry-pick and revert commits:
Navigating via commit hashes

Finally, Abort Rebase, Continue Rebase, and Skip Commit are not available as additional actions in the Git Branches pop-up (Ctrl+Alt+Q):
Additional quicklist items

Also, when using interactive rebase and choosing Edit for a certain commit, you can now easily make additional changes. We can just take our time, and confirm when done by clicking Continue in the sticky balloon notification:
Continuing with rebase

We hope you’ll enjoy our enhancements in VCS integration.

Download Rider 2018.1 now! We’d love to hear your feedback!

image description