The merge endpoint takes a method: merge, squash or rebase. Squash commits the merged tree with the base tip as its only parent; rebase replays each non-merge commit onto the base with merge-tree, keeping authors. Every method packs the head tip too, so a merged request keeps reading its original commits and diff from the base alone. The merge panel picks the method beside the button.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>