我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

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

在拉取请求创建者的许可下,您可以在从仓库复刻创建的拉取请求分支上提交更改。

Did this doc help you?

在拉取请求分支上进行提交必须满足以下条件:

  • 该拉取请求分支在您拥有推送权限的仓库中打开,并且是从仓库的复刻创建的
  • 在用户拥有的复刻上
  • 拥有拉取请求创建者授予的许可
  • 没有阻止您提交的分支限制

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

注:还可以通过创建自己的仓库复刻副本(或复刻)并将更改提交到创建原始拉取请求更改的头部分支,从而通过 GitHub 向仓库复刻的拉取请求分支进行提交。 有关一些一般准则,请参阅“从复刻创建拉取请求”。

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

  2. Above the list of files, click Code.

    "Code" button

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click . To clone a repository using GitHub CLI, click Use GitHub CLI, then click .

    The clipboard icon for copying the URL to clone a repository

    The clipboard icon for copying the URL to clone a repository with GitHub CLI

  4. 打开 Terminal(终端)Terminal(终端)Git Bash

    提示:如果要使用 GitHub Desktop 克隆复刻,请参阅“将仓库克隆到 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.

    提示:错误消息“致命错误:目标路径 'REPOSITORY-NAME' 已存在并且不是空目录”表示您当前的工作目录已包含同名仓库。 要解决此错误,必须将复刻克隆到另一个目录中。

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

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

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

    $ git checkout test-branch

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

  10. 现在,您可以使用此分支执行任何操作。 You can push new commits to it, run some local tests, or merge other branches into the branch. 根据需要进行修改。

  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 上的原始拉取请求中。

延伸阅读

Did this doc help you?