git - 半线性 merge

标签 git azure-devops

我刚刚在Azure DevOps中注意到,有一个称为semi-linear merge的选项。我想知道它做什么?它是否介于 merge 策略和 rebase 策略之间(从名称上是半线性的)?如果是这样,优点/缺点是什么?

enter image description here

编辑:
Microsoft Devblog中,我相信此选项包括2点:

  • 从master/dev分支
  • 重新设置功能分支
  • 然后将功能分支 merge 到master/dev分支


  • 但这不是 merge 策略吗?

    最佳答案

    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.


    取自Pull Requests with Rebase

    关于git - 半线性 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59714347/

    相关文章:

    Git,提交和推送更改,删除的文件不起作用

    ios - Cocoapods project.pbxproj merge 冲突

    git - 如何在不同对应的本地分支package.json中使用单独的git分支作为npm包依赖?

    azure-devops - App serverice 部署从 vsts 失败 4294967295

    node.js - 您可以从 Team Services git 存储库获取 `npm install` 吗?

    eclipse - 将项目推送到远程 TFS 服务器时出现身份验证不支持错误

    powershell - 如何通过 PowerShell 使用 Azure DevOps 的内部版本号更新 AssemblyInfo.cs 中的 AssemblyVersion 号?

    node.js - 无法使用任何环境变量

    ios - 为什么 git add -A 不添加我所有的 png 文件?

    node.js - 如何在 Team Foundation Server 专用 Macos 代理上设置环境变量?