Azure DevOps 中链式分支的分支策略

Posted

技术标签:

【中文标题】Azure DevOps 中链式分支的分支策略【英文标题】:Branching strategies on chained branch in Azure DevOps 【发布时间】:2020-06-17 09:46:08 【问题描述】:

我从master 创建了feature-1 分支,然后从feature-1 创建了feature-2 分支,因为我需要来自feature-1 的更新。

master
      `- feature-1
                  `-feature-2

我在 master 上为 feature-1 在 Azure DevOps 上创建了拉取请求(使用 squash 提交),当我的 PR 被接受时,分支 feature-1 被删除。

现在我在 master 上为 feature-2 创建 PR,但在这里我在所有编辑的文件上都有冲突,即使我有 feature-1 更新(我修复了合并中的冲突 (--no-ff) master 返回到feature-2)。

有没有办法避免这些冲突?这是一个好习惯还是我应该从master 创建feature-2 并在其中合并feature-1 分支而不是从feature-2 创建它?

【问题讨论】:

【参考方案1】:

如果我在从feature-1 合并到master 时使用Squash merge,我可以重现您的冲突问题。从feature-1 合并到master 时,可以尝试选择mergerebase 合并类型:

更多关于合并类型的信息,您可以参考以下链接:

https://devblogs.microsoft.com/devops/pull-requests-with-rebase/

【讨论】:

谢谢!下次我用这个:)

以上是关于Azure DevOps 中链式分支的分支策略的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 Azure DevOps 中设置默认安全和/或分支策略吗?

如何在 Azure DevOps 中自动触发构建拉取请求?

如何在 Azure DevOps 中更改分支名称

Azure Devops 管道通过生成验证触发两次

Azure DevOps Server:还原被删除的分支

Azure DevOps Server:还原被删除的分支