如何检查(在分叉回购上)来自主回购的拉取请求?

How to checkout (on a forked repo) a Pull Request coming from the main repo?

据说我发现项目 A 真的很酷,所以我将其分叉到我的个人资料中。然后我有了项目 A 的分叉版本;我们将其命名为项目 B.

用户打开项目 A 的拉取请求。
但是,由于我已经有项目 B(它是项目 A 的分支),我想在我的项目 B 上检查在项目 A 上打开的拉取请求。

考虑到项目 A 现在 与项目 B 不同,这会更方便。

有什么解决办法吗?
到目前为止,我在网上找到的任何内容都只是检查项目 A 上打开的拉取请求。

您需要在远程设置项目 A 并获取该项目,然后检查用户打开 PR 的分支

假设您的 git remote -v 是:

origin https://github.com/toubou/projectA.git (fetch)
origin https://github.com/toubou/projectA.git (push)

您将需要添加另一个条目来映射原始项目 A

$ git remote add upstream https://github.com/ORGINALREPO/projectA.git

那么你的 git remote 会像:

origin https://github.com/toubou/projectA.git (fetch)
origin https://github.com/toubou/projectA.git (push)
upstream https://github.com/ORGINALREPO/projectA.git (fetch)
upstream https://github.com/ORGINALREPO/projectA.git (push)

现在你可以:

$ git fetch upstream

然后检查用户打开 pr 的分支:

$ git checkout branch_name

@cpanato 提到的确实是正确的,但只是第一步,因为问题是关于能够签出拉取请求而不是分支。

需要将以下行添加到您的 .git/config 文件(上游部分):

fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

然后你就可以获取上游了:git fetch upstream
然后你可以签出一个特定的拉取请求,如下所示:

git checkout origin/pr/11

更多详情,可以随时查阅short article that I've written