Semi-linear merge

What is “Semi-Linear Merge” in Azure DevOps?

Azure DevOps offers a feature called “Semi-Linear Merge”, which combines two steps: rebasing and merging.

The rebase step takes all the changes from the master or dev branch and replays them onto the feature branch. This is used to ensure that the feature branch includes the latest changes from the master or dev branch.

The merge step takes all the changes from the feature branch and merges them into the master or dev branch.

Pros:

  • Ensures that the feature branch includes the latest changes from the master or dev branch
  • Avoids merge commits

Cons:

  • Changes on the master or dev branch may conflict with the changes on the feature branch

For more information, you can refer to Microsoft Devblog.