此版本的 GitHub Enterprise 已停止服务 2021-09-23. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

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

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

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

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

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

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

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

  2. 在文件列表上方,单击 ****Code(代码)。 "代码"按钮

  3. 要使用 HTTPS 克隆仓库,请在“Clone with HTTPS(使用 HTTPS 克隆)”下单击 . 要使用 SSH 密钥克隆仓库,包括由组织的 SSH 证书颁发机构颁发的证书,请单击 Use SSH(使用 SSH),然后单击 用于复制 URL 以克隆仓库的剪贴板图标

    用于复制 URL 以使用 GitHub CLI 克隆仓库的剪贴板图标

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

    提示:如果要使用 GitHub Desktop 克隆复刻,请参阅“将仓库克隆到 GitHub Desktop”。

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

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

    $ git clone https://主机名/USERNAME/FORK-OF-THE-REPOSITORY
  7. Enter 键。 将创建您的本地克隆。

    $ git clone https://主机名/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. 现在,您可以使用此分支执行任何操作。 您可以向该分支推送新提交、运行一些本地测试或将其他分支合并到其中。 根据需要进行修改。

  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://主机名/USERNAME/FORK-OF-THE-REPOSITORY.git
    > 12da2e9..250e946  test-branch -> test-branch

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

延伸阅读