PyCharm 2016.2 Help

Push Dialog (Mercurial, Git)

VCS | Git | Push
VCS | Mercurial | Push

This dialog is available for the following version control systems:

  • Git
  • Mercurial

The dialog consists of two panes (the Repositories pane and the Commit details pane) and the Push controls area:

Repositories pane

The left pane shows a list of Git and/or Mercurial repositories (as well as which local branch/active bookmark will be pushed to which remote branch), and a list of commits performed in each repository.

  • Hover the mouse over a commit: a tooltip is displayed showing the commit number, date and time, author, and the commit message. If the author of a commit is different from the current user, this commit is marked with an asterisk.
  • Select the checkbox next to each repository to which you want to push.

    If you have a multirooted project where repositories are not controlled synchronously, only the current repository is selected by default (or multiple repositories selected in the Project View). For details on how to enable/disable synchronous repositories control, refer to the following sources:

  • To modify the target branch where you want to push (it is highlighted in blue), click it. The label turns into a text field where you can specify the target branch. You can also switch into the editing mode by selecting the branch that you want to modify and pressing Enter.
  • For Git, you can also edit the remote repository (if there are multiple ones) in the same way as the remote branch.
  • If there are no remotes in the repository, the Define remote link appears. Click this link and specify the remote name and URL in the dialog that opens.

Commit details pane

The right pane shows which files are included in the selected commit. If you select multiple branches in the left pane, all corresponding commits will be shown.

The toolbar in this area provides the following options:

ItemTooltip and shortcutDescription
icon_showDiffShow Diff


Click this button to open the Differences viewer for files dialog that shows the differences between the committed version of the selected file and it previous version.
editEdit Source


Click this button to open the selected file in the editor.
groupByPackageGroup by Directory


Click this button to toggle between the flat view and the directory view.
Collapse All / Expand All

Ctrl+NumPad - / Ctrl+NumPad Plus

Click these buttons to fold/unfold all nodes in the directory tree. These buttons are unavailable if the flat view is selected.

Push controls

The controls in this area allow you to select the following push options:

Push TagsThis option is only available if you are using Git.

By default, when you perform the push operation, tags are not sent to the remote repositories. Select this option if you want to push tags with your commits.

  • Select All if you want to push all tags, including the tags that do not belong to the selected branches you are about to push (equivalent to push --tags).
  • Select Current Branch if you want to push only the tags that belong to the selected branches you are about to push (equivalent to push --follow-tags available since Git 1.8.3).
Export Active BookmarksThis option is only available if you are using Mercurial.

By default, when you perform the push operation, bookmarks are not sent to the remote repositories. Select this option if you want to push active bookmarks with your commits.

PushClick this button and select which operation you want to perform from the drop-down menu: push or push --force. Select Force push if:
  • You have created a local branch and want to upload it to the remote repository
  • You do not want to update the local repository before push

For Git, these choice options are only available if the Allow force push option is enabled (see Version Control Settings: Git), otherwise, you can only perform the push operation.

See Also

Last modified: 23 November 2016