CLion 2016.1 Help

Shelving and Unshelving Changes

Shelving is temporarily storing not yet committed changes in a dedicated shelf.

Unshelving is returning postponed changes from a shelf to a pending changelist.

With CLion, you can shelve and unshelve both separate files and entire changelists or shelves.

Unshelved changes can be filtered out from the view or removed from the shelf.
Once shelved, a change can be applied as many times as you need by unshelving and subsequently restoring it on the shelf.

In the Git integration, in addition to shelving and unshelving "stashing" and "unstashing" are supported respectively.
These features have much in common, the only difference is in the way patches are generated and applied.

Patches with stashed changes are generated by Git itself. To apply them later, you do not need CLion.

Patches with shelved changes are generated by CLion. Normally, they are also applied through the IDE.
Applying shelved changes outside CLion is also possible but requires additional steps.