Merge Branch
Merge changes between branches without cloning the repository or shelling out to Git. This endpoint also supports promoting work from ephemeral branches into long-lived branches such as main.
Deprecated: Use /api/repos/{repo_name}/merge instead.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Merge a source branch into a target branch using a merge commit, fast-forward only, or fast-forward preferred behaviour. Source and target can live in the default or ephemeral namespace.
Merge request body specifying source and target branches, merge strategy, optional squash flag, and optional author or committer for a merge commit.
Source branch to merge from.
"feature/preview"
Merge strategy. merge creates a merge commit when needed, ff_only rejects non-fast-forward merges, and ff_prefer fast-forwards when possible before falling back to a merge commit.
merge, ff_only, ff_prefer "merge"
Destination branch to update.
"main"
Permit merges between unrelated histories.
Author identity used when the backend creates a merge commit. Required for merge-commit strategies.
Commit message used when a merge commit is created.
"Merge feature/preview"
Committer identity for the merge commit. Defaults to author when omitted.
Optional branch tip guard. The merge fails if the target has moved since this SHA.
"c4f0fdfc41adab56630b34f5f4fd4e84a2c5b4d2"
Whether source_branch should be resolved from the ephemeral namespace.
true
When true, collapse the source into a single new commit whose only parent is the current target tip. Defaults to false, which preserves the standard merge/fast-forward behavior. Incompatible with the ff_only strategy.
false
Whether target_branch should be resolved from the ephemeral namespace.
Response
Merge result, including the source and target commit state after the operation.
Merge outcome including the resulting commit, source and target state, and merge base information.
Commit SHA for the merge result. For a fast-forward or no-op, this is the resulting target tip.
"41f0d5c6cc5f4d0fb4a3af2de27ccf9a80ab3b84"
Number of commits promoted from source onto target.
x >= 03
Merge outcome: merge_commit, fast_forward, no_op, squash, or unknown.
"merged"
Source ref metadata with branch, ephemeral, and resolved sha.
Target ref metadata with branch, ephemeral, previous old_sha, and resulting new_sha.
Tree SHA for the resulting commit or target tip.
"b9532c5d5be50d88e2f45d7c229566b2f1f99731"
Merge base SHA when one exists and the backend reports it.
"a2d127e6a4d54bb7390de828a99e36411f0c84df"