我合并了一个拉取请求,GitHub 自动合并了另一个拉取请求

Pau*_*aul 1 git github pull-request

我在使用 GitHub 时遇到了一个奇怪的问题,想知道这是否是设计使然。我合并一个拉取请求,有时也会合并一个单独的拉取请求。这似乎是自动发生的。我注意到,对于 GitHub 自动合并的拉取请求,其分支已合并到我手动合并的拉取请求的分支中。

例如,我有一个分支A,我正在为其合并一个 PR。在合并branch的PR之前,我将另一个分支branch合并B到branch中。然后我合并branch的PR ,branch的PR就会自动合并。AAAB

这是设计使然吗?这对我来说没有任何意义。为什么 GitHub 会因为我将B分支合并到dev分支而假设分支已准备好合并到A?在我们的团队中,我们将分支相互合并,以最大程度地减少合并 PR 时的冲突。我还想知道是否可以在 GitHub 的某个地方更改此行为。

Gui*_*ntz 5

是的,这是设计使然:当您合并到时,BA会说B现在完全是A. 当您合并到时,Adev就说它A完全是dev. 现在可以传递地A是 的一部分dev,并且B是 的一部分A,因此B是 的一部分dev

如果你不想B合并,dev当你合并A到时dev,你不能合并BA(例如,你不能告诉 git 这B是 的一部分A)。

有一件事可能会让你绊倒:git 是关于源代码的,而不是 PR。Github 将 PR 功能置于 git 实际跟踪的之上。当 Github 看到您合并了 PR 的代码时,它会关闭 PR。

你这样说In our team, we merge branches into each other to minimize conflicts when PRs are merged.,听起来你实际上是在倒退。在您的示例中,通常要做的事情是,当A合并到dev拥有者时B,将从合并devB:从而解决任何合并冲突,B因此当它们合并Bdev实际合并更改时,只是功能所需的更改B,并且不会有任何合并冲突。合并冲突。