Skip to main content

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

您可以在由您的仓库复刻创建的拉取请求分支上提交更改,只需获得拉取请求创建者的许可。

Platform navigation

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

  • 在你拥有推送权限且从该存储库的复刻创建的存储库中打开
  • 位于用户拥有的复刻上
  • 获得拉取请求创建者的权限授予
  • 没有会阻止你提交的分支限制

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

注意

你也可以通过在 你的 GitHub Enterprise Server 实例 上创建你存储库复刻的自己的副本(或复刻),并将更改提交到原始拉取请求更改所在的同一头部分支,从而向你存储库复刻的拉取请求分支提交代码。 有关一些常规准则,请参阅“从复刻创建拉取请求”。

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

  2. 在文件列表上方,单击“ Code”****。

    存储库登陆页面上的文件列表的屏幕截图。 “代码”按钮以深橙色轮廓突出显示。

  3. 复制存储库的 URL。

    • 若要使用 HTTPS 克隆存储库,请在“HTTPS”下单击

    • 要使用 SSH 密钥克隆存储库,包括组织的 SSH 证书颁发机构颁发的证书,请单击“SSH”,然后单击

    • 要使用 GitHub CLI 克隆存储库,请单击“GitHub CLI”,然后单击

      “代码”下拉菜单的屏幕截图。 在存储库的 HTTPS URL 的右侧,复制图标以深橙色框出。
      1. 打开终端终端Git Bash

    提示

    如果你更喜欢使用 GitHub Desktop 克隆分支,请参阅 克隆仓库

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

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

    git clone https://HOSTNAME/USERNAME/FORK-OF-THE-REPOSITORY
    
  6. Enter。 将创建您的本地克隆。

    $ git clone https://HOSTNAME/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' 已存在并且不是空目录”表示你当前的工作目录已包含同名存储库。 要解决此错误,必须将复刻克隆到另一个目录中。

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

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

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

    git checkout TEST-BRANCH
    

    提示

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

  9. 现在,您可以使用此分支执行任何操作。 您可以向该分支推送新提交、运行一些本地测试或将其他分支合并到其中。 根据需要进行修改。

  10. 在更改提交到拉取请求的头部分支后,你可以将更改直接推送到原始拉取请求。 在此示例中,主干分支为 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://HOSTNAME/USERNAME/FORK-OF-THE-REPOSITORY.git
    > 12da2e9..250e946  TEST-BRANCH -> TEST-BRANCH
    

你的新提交将反映在 你的 GitHub Enterprise Server 实例 上的原始拉取请求中。

深入阅读