

If you want to make the new changelist active, select Set active. You can enter the description of the new changelist in the Comment field (optional).

You can select an existing changelist from the list or enter the name for a new changelist to be created. In the Unshelve Changes dialog, specify the changelist you want to restore the unshelved changes to in the Name field. Press Control+Shift+U or choose Unshelve from the context menu of the selection. In the Shelf tab, select the changelist or the files you want to unshelve. Unshelved changes can be filtered out from view or removed from the shelf. Unshelving is moving postponed changes from a shelf to a pending changelist. If you need to copy your changes to a shelf without resetting local changes, press Control+Shift+A and look for the Save to Shelf action. To avoid ending up with numerous shelves with the same name (such as Default, for example), you can drag a file or a changelist from the Commit to tab to the Shelf tab of the Commit tool window, wait for a second until it's activated, and edit the new shelf name after releasing the mouse button. The name of the changelist containing the changes you want to shelve will be used as the shelf name. To do this, select the file or changelist you want to shelve and click the Shelve Silently icon on the toolbar or press Command Shift H. You can also shelve changes silently, without displaying the Shelve Changes dialog. In the Commit Message field, enter the name of the shelf to be created and click the Shelve Changes button. In the Shelve Changes dialog, review the list of modified files. In the Commit tool window Alt+0, right-click the files or the changelist you want to shelve and select Shelve changes from the context menu. Once shelved, a change can be applied as many times as you need. You cannot shelve unversioned files, which are files that have not been added to version control. With P圜harm, you can shelve both separate files and entire changelists. This is useful, for example, if you need to switch to another task, and you want to set your changes aside to work on them later.

Shelving is temporarily storing pending changes you have not committed yet. You can create branches to work on different unrelated features. You can keep changes related to different tasks or features in different changelists. Also, stashing involves all uncommitted changes, while when you put changes to a shelf, you can select some of the local changes instead of shelving them all. Patches with shelved changes are generated by P圜harm and are also applied through the IDE. Stashes are generated by Git, and can be applied from within P圜harm, or outside it. The only difference is in the way patches are generated and applied. Stashing changes is very similar to shelving. P圜harm provides you with a few ways to conveniently work on several different features without losing your work: Sometimes you need to switch between different tasks with things left unfinished and then return back to them.
