Semi linear merge


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?

enter image description here

From Microsoft Devblog I believe this option consist of 2 points:

  1. Rebase the feature branch from the master/dev branch
  2. Then merge the feature branch in the master/dev branch

But isn’t that the merge strategy?


Semi-linear merge
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 master on the pull request branch, followed by git merge pr --no-ff on the master branch.

enter image description here

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

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published