Version Controls Systems Integration

Version Control Integration
VCS-Specific Operations

Version Control Integration

RubyMine gives you an intelligent, flexible and effective way for working with a wide variety of popular Version Control Systems. The unified user interface provides support for common tasks as well as VCS-specific features: synchronization, checkout, merging, updates, plus:

  • Changelists support for all integrated version controls
  • Next, Previous, Rollback, Show Difference actions in the gutter bar
    Gutter action icons

  • View revision history for project/folder/file.
  • Annotate command for reviewing the files
  • Recent changes display with a single shortcut
  • Automatic checkout of all affected files when refactoring
  • Dedicated tool window for History, Status, Update Info, etc.
    Repository changes viewer

  • Ability to commit the entire project, with conflict notifications
  • Notification on files changed by your team mates
    Outdated changes

Most Popular VCS Integrations

RubyMine natively supports the following SCM systems:

  • Git
  • Subversion (SVN)
  • Mercurial
  • CVS
  • Perforce

Advanced Changelist Management

All the files that have been changed, deleted, just created and not yet under version control, are displayed in a single Changes tool window, where you can:

  • Create, remove or commit a changelist
  • Commit changes

  • Rollback the modifications
  • Roll back changes

  • Add files and folders to version control
  • Move the selected files between the changelists
  • See the diffs between selected files

  • Jump to the underlying source code

Patches and Arbitrary Reverting

RubyMine lets you create patches directly from the code that you can later apply and merge with repository files. This feature also lets you revert any arbitrary code change, committed by you or your colleagues, by applying a reverse patch.

Shelve Changes

With RubyMine you can be sure that all your work is safe and never lost. If you need to work with the repository files and have uncommitted changes, just shelve them — RubyMine will keep the changes safe until you decide to commit or merge them.

Shelve changes

Local History

RubyMine tracks all changes made to project files, including those that affect project folders content and hierarchy, and keeps them versionized in its very own local history. So to say, it gives you a one more layer of version control, which is completely invisible and seamlessly integrates with any other VCS, or serves as a replacement if you do not have one. This feature protects your files from accidental damage or unwanted modifications, even if they occur on the account of any third-party software. Any time you can inspect the history of either a particular file or folder and rollback to any of its previous versions — just as easy as you'd do it with any other VCS.

VCS-Specific Operations

RubyMine lets you take advantage of using your favorite VCS by natively supporting its specific features.

Subversion (SVN)

  • Subversion 1.8 support, with Integrate function
  • Convenient Subversion client and repository browser that allows direct project structure modification
  • Import a project into Subversion
  • Quick checkout of a project from repository (lightweight wizard mode)
  • Checking out separate files or directories
  • Comparing arbitrary file revisions with the help of a convenient visual Diff tool
  • Lock file and Steal Lock directly from IDE
  • Rolling back changes for an entire file, or for just particular modifications
  • Setting properties for files and directories


  • Cloning of remote repositories
  • Pushing and pulling local repositories
  • Performing rebase, with interactive mode and multiple Git roots
  • Merging with various strategies


  • Automatic CVS roots configuration
  • Checking out specific file revisions
  • Check out filters by tag or date
  • Updating files with the ability to merge branches
  • Bulk and granular rollback
  • Creating tags and branches
  • Dedicated tool window: CVS Output, Browse, Errors, Editors and Watchers
  • Management of editors and watchers
  • Quick checkout and import of a project from the repository
  • CVS repository browser


  • Perforce jobs support
  • Perforce offline mode, with transparent operation when you are not connected
  • Auto-detection of files that are already versioned
  • All Perforce commands available: submit, update a separate file, directory or entire project
  • Flexible changes browser, with ability to filter the changes by user, date, etc.
  • Advanced support for changelists, including the ability to switch or move them


to the top