如何检查(在分叉回购上)来自主回购的拉取请求?
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。
据说我发现项目 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。