VCS integration and local history

Supported VCS

CLion provides a unified interface for many popular Version Control Systems, ensuring a consistent user experience with: Subversion, Git (including support for multiple working trees) and GitHub, Mercurial, CVS, and Perforce (via plugin).

Changes View

Stay up to date with your team without leaving the IDE. See what has been committed to the VCS by other team members, and refer to the Incoming Changes view for code changes not yet integrated into your local copy.

Issue trackers

With CLion, you can align your workflow with the issue tracking procedure established in your team. Link your issue tracker account with your project and work on it in the context of tickets and tasks. CLion provides support for: Jira, JetBrains YouTrack, PivotalTracker, Redmine, Mantis, GitHub and Gitlab, Bugzilla and more.

Built-in visual tools for VCS

Any changes you make are highlighted in the editor’s left gutter as you type, and can be rolled back with two simple clicks.

Built-in visual tools for VCS

A commit dialog allows you to perform code analysis, check for TODOs left in your code and reformat the code. Also if you notice a small issue while looking at a diff, no need to go back to the editor - just unlock the editing mode and apply changes in-place.

Several changes can be grouped into various change lists for your convenience. There is also the Shelved Changes feature to help you set aside some changes to restore later on.

Resolve conflicts

A built-in visual merge tool help resolve conflicts in a quick and intuitive manner.

Simple conflicts can be resolved by the IDE in one click. If you have several nonoverlapping changes on one line, CLion will show a special resolve icon in the merge dialog. Click the icon to have the conflict resolved by the IDE.

Local history

Built-in visual tools for VCS

In CLion you have an ability to track all the local changes without any VCS. No accidental changes or modification will pass unnoticed.

At any time you can inspect the history of either a particular file or directory and rollback to any of its previous versions. You can also set version labels.