Q: my PR can merge into main --ff-only , and only "Rebase and merge" option is available in PR.
When applied, the PR is merged with commit SHA different from the one in the PR HEAD. But why!?
Gitlab never surprised me in that case.
A: Google AI Overview:
Even if your Pull Request (PR) branch is up-to-date with main (making it eligible for a fast-forward merge),
selecting "Rebase and merge" on GitHub will always produce new commit SHA hashes, changing them from your original HEAD.
GitHub’s "Rebase and Merge" deviates slightly from a standard local git rebase: