GoLand 2023.2 Help

Push dialog (Mercurial, Git)

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 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 F2.

  • You can also edit the remote repository (if there are multiple ones) in the same way as the remote branch. Note that if no remotes have been specified, the Define remote link will appear instead of a remote name. Click it to add a remote.

  • 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:

Item

Tooltip and shortcut

Description

App actions diff

Show Diff

Control+D

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

App actions edit

Edit Source

F4

Click this button to open the selected file in the editor.

App actions group by package

Group by Directory

Control+Alt+P

Click this button to toggle between the flat view and the directory view.

App actions expandall App actions collapseall

Collapse All / Expand All

Control+NumPad-- / Control+NumPad-+

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:

Item

Description

Push Tags

This 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 Bookmarks

This 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.

Push

Click this button to push changes to the remote branch, or click the arrow icon on the combo-button and choose Force Push to run the push --force-with-lease command.

For instructions on how to use the push --force-with-lease command and where it may be useful, refer to:

Last modified: 23 August 2023