您只能在满足以下条件的拉取请求分支上进行提交:
- 在您拥有推送权限的仓库中打开,并且该分支是由该仓库的分叉创建的
- 位于用户拥有的分叉上
- 已获得拉取请求创建者授予的权限
- 没有会阻止您提交的分支限制
只能由创建拉取请求的用户授予您向用户拥有的分叉推送提交的权限。欲了解更多信息,请参阅允许对由分叉创建的拉取请求分支进行更改。
注意
您也可以通过 GitHub.com 对您仓库的分叉的拉取请求分支进行提交,方法是创建您仓库的分叉(或副本)的副本(或再次分叉),并在原始拉取请求更改所在的同一目标分支上提交更改。有关一般指南,请参阅从分叉创建拉取请求。
-
在 GitHub 上,前往创建拉取请求分支的分叉(或您仓库副本)的主页。
-
在文件列表上方,点击 代码。

-
复制该仓库的 URL。
-
要使用 HTTPS 克隆仓库,请在“HTTPS”下点击.
-
要使用 SSH 密钥克隆仓库(包括由您组织的 SSH 证书颁发机构签发的证书),点击 SSH,然后点击.
-
要使用 GitHub CLI 克隆仓库,点击 GitHub CLI,然后点击.

-
-
打开 终端终端Git Bash。
提示
如果您更喜欢使用 GitHub Desktop 克隆分叉,请参阅克隆仓库。
-
将当前工作目录更改为您希望下载克隆目录的位置。
cd open-source-projects -
键入
git clone,然后粘贴您在步骤 3 中复制的 URL。git clone https://github.com/USERNAME/FORK-OF-THE-REPOSITORY -
按 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" 表示您当前的工作目录中已经存在同名的仓库。要解决此错误,您必须在另一个目录中克隆该分叉。
-
进入新克隆的仓库。
cd FORK-OF-THE-REPOSITORY -
切换分支到原始更改所在的拉取请求的比较分支。若打开原始拉取请求,您将在拉取请求顶部看到比较分支。
在本示例中,比较分支为
test-branchgit checkout TEST-BRANCH提示
有关拉取请求分支的更多信息(包括示例),请参阅创建拉取请求。
-
此时,您可以对该分支做任何想做的操作。您可以向其推送新提交、运行本地测试,或将其他分支合并到该分支。随意进行修改即可。
-
在您将更改提交到拉取请求的头分支后,您可以直接将更改推送到原始拉取请求。在本示例中,头分支为
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 的原始拉取请求中显示。