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

Branching strategies on chained branch in Azure DevOps

我从 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 创建它?

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

更多合并类型的信息,您可以参考以下内容link:

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