繁体   English   中英

拉取请求显示在 azure devops 中变基/合并到另一个分支后的旧提交

[英]Pull request shows old commits after rebase/merge to another branch in azure devops

我们正在尝试调整 Skullcandy git 流程 - 链接

简而言之,流程是:

  1. 功能分支从主分支重新分支
  2. 完成该功能的工作后,代码被重新定位/合并到 QA 分支,如果需要可以对其进行额外测试(在此处创建拉取请求并完成代码审查)
  3. 测试完成后,我们使用另一个拉取请求将功能分支重新定位/合并到主分支

现在我们在使用这种方法的合并和变基方面都遇到了问题。

变基方法:

  1. 我们为 QA 和 master 创建 PR(1 个额外提交)
  2. 我们使用 rebase fast-forward 完成 PR 到 QA
  3. 在 PR 到 QA 完成后,突然 PR 到 master 可以显示以前不存在的其他提交。 如果我要从原点删除分支并再次从本地存储库推送它并创建新的 PR 以掌握它,它会再次正确显示 1 个额外的提交

我不确定为什么会这样。 似乎特性分支的提交历史被重写了。 我也不确定这种方法是否可行,因为 rebase 可以创建新的提交 SHA,因此它们可以显示为更改。

合并方法:

  1. 我们为 QA 和 master 创建 PR(1 个额外提交)
  2. 我们使用合并完成 PR 到 QA 并掌握
  3. 这里发生的问题是,由于在我们再次从 master 重新分支以获取新功能并为 QA 创建新 PR 之后,merge 创建了一个额外的 Merge 提交,因此它将来自 master 的 Merge 提交显示为更改。 它还在代码审查窗格中显示了在该合并提交中所做的所有更改,这是有问题的。

我猜这个问题的发生是因为合并提交的 SHA 在 QA 和 master 分支上是不同的?

概括

你能帮我理解为什么 rebase 会这样吗?

对于我们如何改善我们的流程有什么建议吗?

我们更喜欢只有主流程,但为此我们需要自动生成的测试环境来进行自动化测试,而我们还没有:)

我只是在为此寻找答案,并找到了这个 Microsoft 回复

他们声称这是一项功能 - 而不是错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM