A changelist is a set of local changes that have not yet been committed to a VCS repository.
With changelists, you can group changes related to different tasks and commit these sets of changes independently. See Commit changes locally for details.
Changelists are displayed in the Local Changes view. Initially, there is a single default changelist. It is called Changes, all new changes are automatically placed in this changelist. There is also an Unversioned Files changelist that groups newly created files that haven't been added to your VCS yet.
You can create as many changelists as needed and make any of them active at any moment. You can move any uncommitted changes to any changelist.
Create a new changelist
In the Local Changes view, click on the toolbar and select New Changelist.
In the New Changelist dialog, specify the name of the new changelist, and add a description (optional).
Set the active changelist
In the Local Changes view, select a non-active changelist and press Ctrl+Space or right-click it and choose Set Active Changelist from the context menu. All new changes will be automatically placed in this changelist.
Move changes between changelists
In the Local Changes view, select the changes that you want to move to another changelist.
Right-click the selection or click on the toolbar and choose Move to Another Changelist Alt+Shift+M.
In the dialog that opens, select an existing changelist or enter the name for a new changelist.
You can choose to make the target changelist active and to track context for it (PyCharm will save the context associated with this changelist, and will restore it when this changelist becomes active).
Delete a changelist
Right-click a changelist and choose Delete Changelist from the context menu.