我可以在 github 中更改 PR 的基本分支吗?

Can I change the base branch of a PR in github?

上周我从“main”创建了一个分支,我将其称为“A”并进行了 PR。 在等待我的同事审查我的 PR 时,我从“A”开始了另一个分支,我称之为“B”。我做了更多工作并创建了第二个 PR。第二个 PR 想要将更改从“B”合并到“A”。我本来想把“B”做成“main”,但我不能那样做,因为“B”包含“A”,而“A”有自己的 PR。

几天后,“A”已合并到“main”中。我的第二个 PR 是“B”到“A”,但我真正想要的是“B”到“main”,因为“A”已合并到“main”,而“A”在原点上不再存在。

是否可以更改我的 PR,而不是将“B”变成“A”,而是将“B”变成“主要”?我已经收到了一些评论意见,我宁愿保留它。我不想打开具有相同更改的新 PR。

此外,“A”没有作为“A”合并到“main”中。 “A”被拆分为两个不同的 PR,因此虽然“A”中的更改被合并到“main”中,但“A”本身从未真正合并到“main”中。我不知道这是否有任何区别。

谢谢!

PS:我看了看,虽然我看到了类似的问题,但我从未见过能回答我实际问题的问题。人们要么想知道如何将 PR“B”变成“A”(我已经做过),要么他们很乐意做一个新的 PR,但我不是。

您应该能够将 B 变基到 master 上,使其独立于 A。
然后强制推送 B 将更新 B 的现有 PR。

即:

m--m--m--m---m (main)
    \       /
     a--a--a   (A)
         \
          b--b (B)

git rebase --onto main $(git merge-base A B) B

               b'--b' (B rebased)
              /
m--m--m--m---m (main)
    \       /
     a--a--a   (A)