发布分支的 Azure DevOps 合并类型

abx*_*x78 4 git git-flow azure-devops

我即将使用本地 Azure DevOps 环境将我的发布分支合并到 master 中。当我去完成拉取请求时,我会得到四种合并类型选项:

  • 合并(无快进)
  • 壁球提交
  • 变基和快进
  • 半线性合并

我更愿意保持所有历史记录完好无损,确保最大限度地减少修补程序或未来发布分支的问题。我正在尝试遵循 git-flow 流程。

通常我会使用带快进的 Rebase,但是(当我选择“Squash”时)屏幕上会显示一条消息:

“如果您计划在未来的工作中使用 source 分支,请考虑使用非快进合并”。

这意味着什么?快进的 Rebase 不安全吗?

谢谢你的建议。

TTT*_*TTT 7

根据经验,如果您的分支具有您希望保留的合并提交,那么您应该在这 4 种合并类型中选择的唯一合并类型是第一个“合并”。在 Git-Flow 中,将任何受保护的分支合并到另一个分支中总是需要定期合并。(releasehotfix进入masterdevelop等)原因是其他 3 种合并类型中的任何一种都会“弹出”合并气泡,并且您将丢失合并提交提供的信息。

请注意,您仍然可以使用半线性合并将功能分支合并到受保护的分支中,事实上,我个人更喜欢在使用 Git-Flow 时这样做。以下是有关何时可以和不能使用半线性合并的更多详细信息。