跳至主要内容

将更改提交到从分叉创建的拉取请求分支

您可以在从您的仓库分叉创建的拉取请求分支上提交更改,前提是您获得了拉取请求创建者的许可。

平台导航

您只能在以下拉取请求分支上进行提交:

  • 在您有推送权限的仓库中打开,并且是从该仓库的分叉创建的
  • 位于用户拥有的分叉上
  • 已获得拉取请求创建者的许可
  • 没有分支限制,这些限制会阻止您提交

只有创建拉取请求的用户才能授予您向用户拥有的分叉推送提交的权限。有关更多信息,请参阅“允许对从分叉创建的拉取请求分支进行更改”。

注意:您也可以通过 GitHub.com 从您的仓库的分支中提交更改到拉取请求分支,方法是创建您自己的仓库分支副本(或分叉),并将更改提交到与原始拉取请求更改创建的相同头部分支。有关一些一般指南,请参阅“从分支创建拉取请求”。

  1. 在 GitHub 上,导航到创建拉取请求分支的分支(或您的仓库副本)的主页。

  2. 在文件列表上方,单击 代码.

    Screenshot of the list of files on the landing page of a repository. The "Code" button is highlighted with a dark orange outline.

  3. 复制仓库的 URL。

    • 要使用 HTTPS 克隆仓库,在“HTTPS”下,单击 .

    • 要使用 SSH 密钥克隆仓库(包括您的组织的 SSH 证书颁发机构颁发的证书),单击SSH,然后单击 .

    • 要使用 GitHub CLI 克隆仓库,单击GitHub CLI,然后单击 .

      Screenshot of the "Code" dropdown menu. To the right of the HTTPS URL for the repository, a copy icon is outlined in dark orange.

  4. 打开终端终端Git Bash

    提示:如果您希望使用 GitHub Desktop 克隆分支,请参阅“克隆仓库”。

  5. 将当前工作目录更改为要下载克隆目录的位置。

    cd open-source-projects
    
  6. 键入git clone,然后粘贴您在步骤 3 中复制的 URL。

    git clone https://github.com/USERNAME/FORK-OF-THE-REPOSITORY
    
  7. Enter键。您的本地克隆将被创建。

    $ git clone https://github.com/USERNAME/FORK-OF-THE-REPOSITORY
    > Cloning into `FORK-OF-THE-REPOSITORY`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.
    

    提示:错误消息“fatal: destination path 'REPOSITORY-NAME' already exists and is not an empty directory”表示您的当前工作目录已经包含一个同名仓库。要解决此错误,您必须在不同的目录中克隆分支。

  8. 导航到您新克隆的仓库。

    cd FORK-OF-THE-REPOSITORY
    
  9. 将分支切换到原始更改所做的拉取请求的比较分支。如果您导航到原始拉取请求,您将在拉取请求顶部看到比较分支。

    在本例中,比较分支为test-branch

    git checkout TEST-BRANCH
    

    提示:有关拉取请求分支的更多信息(包括示例),请参阅“创建拉取请求”。

  10. 此时,您可以对该分支进行任何操作。您可以向其推送新的提交,运行一些本地测试,或将其他分支合并到该分支。根据您的喜好进行修改。

  11. 将更改提交到拉取请求的头部分支后,您可以将更改直接推送到原始拉取请求。在本例中,头部分支为test-branch

    $ git push origin test-branch
    > Counting objects: 32, done.
    > Delta compression using up to 8 threads.
    > Compressing objects: 100% (26/26), done.
    > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.
    > Total 29 (delta 8), reused 0 (delta 0)
    > To https://github.com/USERNAME/FORK-OF-THE-REPOSITORY.git
    > 12da2e9..250e946  TEST-BRANCH -> TEST-BRANCH
    

您的新提交将在 GitHub.com 上的原始拉取请求中反映出来。

进一步阅读