I just noticed in Azure DevOps, there’s this option called
semi-linear merge. I was wondering what it does? Does it come between the merge strategy & rebase strategy (from the name semi-linear)? If so, what are the pros/cons?
From Microsoft Devblog I believe this option consist of 2 points:
- Rebase the feature branch from the master/dev branch
- Then merge the feature branch in the master/dev branch
But isn’t that the merge strategy?
This strategy is the most exotic – it’s a mix of rebase and a merge. First, the commits in the pull request are rebased on top of the master branch. Then those rebased pull requests are merged into master branch. It emulates running
git rebase masteron the pull request branch, followed by
git merge pr --no-ffon the master branch.
Some people think of this as the best of both worlds: individual commits are retained, so that you can see how the work evolved, but instead of just being rebased, a “merge bubble” is shown so that you can immediately see the work in each individual pull request.
Taken from Pull Requests with Rebase
Answered By – rickvdbosch