为什么Github不自动更新两个PR的文件对比?

Why Github does not automatically update the file comparison between two PRs?

除了main我创建了三个分支:b-releaseb-Ab-B。而 b-A 是基于 release-branch 创建的,而 b-B 是基于 b-A.

main --- b-release
            |       
           b-A  ---  b-B

我还创建了三个 PR:

  1. PR-release(对比main):这个pr是由PR-b-APR-b-B
  2. 组成的changeLog
  3. PR-b-A(对比b-release):这个pr是b-A
  4. 的变化
  5. PR-b-B(对比b-release):这个pr是b-B
  6. 的变化

目的是PR-release合并到mainb-Ab-B合并到b-release .

但是,在我将PR-b-A合并到PR-release之后,PR-b-B中的文件比较并没有更新。即使我尝试将 base 更改为 main 并更改回 b-release,它仍然没有更改。

有谁知道如何更新 PR-b-B 上的文件更改?

PR 中显示的差异是:

  • 分支机构负责人(b-B 你的情况)
  • 该分支与目标分支之间的分叉点(b-Bb-release之间的分叉点)

如果您仔细观察分支的行为:如果您更新 b-release 分支,分叉点不会改变(见下图)。

如果要更改 PR 中显示的内容,则必须更改分支 b-B
例如:运行 git rebase b-release after b-A 已被合并。之后你将不得不强制推送到原点。


绘制图表:

# before merging b-A :
main --- b-release
            \       
             * --- * --- b-A  --- * --- * --- b-B

# after merging b-A :
main ---   x     ---  b-release
            \              /
             * --- * --- b-A  --- * --- * --- b-B

# the fork point with 'b-release' is till commit 'x'

# to update the fork point : change the history of branch b-B
# after 'git rebase b-release' :
main ---   x     ---  b-release
            \              /  \
             * --- * --- b-A   * --- * --- b-B