RubyMine 2018.1 Help

Merge Branches Dialog

VCS | Git | Merge Changes


Use this dialog box to specify arguments for merging branches in a local Git repository.

ItemDescription
Git RootFrom this drop-down list, select the path to the local repository in which you want to merge branches.
Current BranchThis read-only field shows the name of the branch which is currently checked out in the selected local repository. This is the target branch, the changes from the selected source branches will be applied to it.

The contents of the field depend on the selection in the Git Root drop-down list.

Branches to MergeUse this list box to specify the source branches from which changes will be applied to the target branch.

The list shows only those branches that contain applicable commits. Applicable commits are commits made after a branch separated from the target branch.

StrategyFrom this drop-down list, select the merge strategy. The available options are:
  • Default
  • Resolve - select this option if you need to resolve two HEADs, one of which is the current branch and the other HEAD is the branch which you selected in the Branches to Merge list. When this option is selected, the 3-way merge algorithm is applied.
  • Recursive - the default merge strategy for merging the current branch with one branch. Select this option if you need to resolve two HEADs by applying the 3-way merge algorithm and there are more than one common ancestor that can be used for 3-way merge.
  • Octopus - the default merge strategy for merging the current branch with more than one branch.

    Merges that require resolving conflicts manually are not performed.

  • Ours - select this option if you need to resolve several HEADs. The result of the merge is always the HEAD of the current branch.
  • Subtree - a modified recursive strategy.

When two or more source branches are selected in the Branches to Merge list box, only the Octopus and Ours options are available.

No CommitSelect this checkbox if you need to inspect and, if necessary, adjust the result of merging before committing the result. The merge is performed but is not committed automatically, as if it failed.
No Fast ForwardSelect this checkbox to generate a merge commit even if the merge resolved as a fast-forward.
Squash CommitSelect this checkbox to create a single commit on top of the current branch instead of merging one or more other branches. The working tree and index state are produced as if a real merge happened, but commit is not performed and the HEAD is not moved.
Add Log InformationSelect this checkbox to have RubyMine populate, in addition to branch names, a log message with one-line descriptions from the actual commits that are being merged.
Commit MessageIn this text box, provide a description for the commit.

The text box is available only if the No Commit checkbox is not selected.

MergeClick this button to initiate merging the specified branches in the local repository according to the defined settings.
Last modified: 1 August 2018

See Also