Earlier quoted context omitted.
Why not just ‘git merge main’ instead of ‘git rebase main’?
Because they do different things. It's right there in his post: > # adds my single commit to the end of the current main The biggest benefit to this IMO is that you can resolve conflicts in YOUR branch, get it all cleaned up, and then when you merge there are no conflicts. This allows you to test any changes made during conflict resolution in your feature branch still.
$ git checkout feature-branch
$ git merge main
# test stuff, make sure everything looks good
$ git checkout main
$ git merge feature-branch --no-ff
No rebasing or other history rewrites required.