使用 git/github 分叉一个拉取请求

forking off of a pull request with git/github

我正在 github 中进行一个项目。用户已创建拉取请求。我想分叉这个拉取请求。我该怎么做呢?我在 git 文档中看不到任何让我印象深刻的内容,但我相当确定这是可能的...

PR 基于分支。分叉存储库会在您的帐户中创建存储库的新副本,包括所有推送的分支。拉取请求不会作为分叉过程的一部分进行复制。

转到拉取请求并找到它基于的分支:

然后 fork 存储库。您将在新存储库中找到该分支,您可以重新创建 PR 或从那里创建另一个分支。

I have the original repo forked already. How would I bring the PR into my fork and branch off of it?

  1. 如果您还没有,请克隆您的分叉,以便您的机器上有分叉的本地副本。

  2. 将 PR 作为远程源的 repo 添加到您的克隆:

    git remote add the-pr-repo git@github.com:the-pr-user/the-pr-fork.git
    
  3. 将 PR 的分支签入您的本地存储库:

    git fetch the-pr-repo
    git checkout the-pr-branch
    

现在您已经在本地存储库中获得了 PR 分支的副本,您可以构建、测试等等。

This is a PR for upstream.

PR 仍然只是指向一个分支。 "Pull request" 字面上是将提交从给定分支拉到其他分支的请求。所以假设 PR 是从一个名为 basil 的 repo 中创建的,并指定了一个名为 basils-changes 的分支,并且 PR 要求将来自 basils-changes 的提交添加到 master 分支upstream 回购。通过首先确保我有一个与 upstream/master 保持同步的本地分支,然后将 basil/basils-changes 拉入我的本地分支,我可以轻松获得相同的更改。如果 PR 被合并,那将准确地告诉我 upstream/master 会有什么,所以我可以在本地测试更改以决定是否要将 PR 合并到 upstream/master.