gpt4 book ai didi

git - pull 请求显示在 rebase /merge 到 azure devops 中的另一个分支后的旧提交

转载 作者:行者123 更新时间:2023-12-05 05:00:02 24 4
gpt4 key购买 nike

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

简而言之,流程是:

  1. feature 分支从 master 分支出来
  2. 完成该功能后,代码会 rebase /merge 到 QA 分支,如果需要可以对其进行额外测试(在这里创建 pull 请求并完成代码审查)
  3. 测试完成后,我们使用另一个 Pull 请求将功能分支 rebase /merge 到 master

现在我们在使用这种方法进行 merge 和 rebase 时遇到了问题。

rebase 方法:

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

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

merge 方式:

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

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

总结

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

关于我们如何改进我们的流程,有什么建议吗?

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

最佳答案

我只是在寻找这个问题的答案,并找到了 this Microsoft response .他们声称这是一个功能 - 而不是错误。

关于git - pull 请求显示在 rebase /merge 到 azure devops 中的另一个分支后的旧提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63298150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com