class Git::Commands::Merge::Start

Implements ‘git merge` to incorporate changes from named commits

Joins two or more development histories together by incorporating changes from the named commits into the current branch.

@example Simple merge

merge = Git::Commands::Merge::Start.new(execution_context)
merge.call('feature')

@example Merge with no fast-forward

merge.call('feature', ff: false, m: 'Merge feature branch')

@example Squash merge

merge.call('feature', squash: true)

@example Merge with strategy option

merge.call('feature', strategy: 'ort', strategy_option: 'theirs')

@example Octopus merge (multiple branches)

merge.call('branch1', 'branch2', 'branch3')

@note ‘arguments` block audited against git-scm.com/docs/git-merge/2.53.0

@see Git::Commands::Merge

@see git-scm.com/docs/git-merge git-merge

@api private