Git integration with PyCharm supports the Rebase operation and provides an interface that ensures high flexibility in setting the rebase arguments.
The following functionality is supported:
- The basic use case which involves applying a branch on top of the current HEAD of the master after synchronization with the upstream.
- Rebasing a branch entirely or partially to a specific commit in any branch or tag.
- Running rebase on several local repositories simultaneously.
- Selecting a merge strategy to apply, with the possibility to use no merging strategy at all.
- Running rebase interactively with control over preserving/squashing merges.
- Resuming interrupted rebase after merge conflicts are resolved.
- Cancelling rebase.
To initiate a rebase operation
- From the main menu, select VCS | Git | Rebase. The Rebase Branches dialog box opens.
- From the Git Root drop-down list, select the relevant local repository.
- From the Branch drop-down list, select the branch you want to rebase. By default, the current branch is selected. If you specify a different branch, it will be checked out.
- Specify the new base and the commits you want to apply.
- If necessary, choose a rebase strategy and click Rebase.
rebase command is also available from the Git Branches popup in the
submenu for the selected branch.
To resume an interrupted rebase operation
From the main menu, choose VCS | Git | Continue Rebasing.
Before resuming the rebase operation, view the log in the Version Control tool window.
If rebase was initiated and interrupted on two or more local repositories, the Continue Rebasing dialog box is displayed. Select the repository on which you want to resume the rebase operation from the Git Root drop-down list.
To cancel a rebase operation
- From the main menu, choose VCS | Git | Abort Rebasing
If rebase was initiated on two or more local repositories, the Abort Rebasing dialog box is displayed. Select the repository on which you want to cancel the rebase operation from the Git Root drop-down list.