您只能对符合以下条件的 Pull Request 分支进行提交:
- 在您拥有推送访问权限的仓库中打开,并且是从该仓库的 Fork 创建的
- 位于用户拥有的 Fork 上
- 已获得 Pull Request 创建者的许可
- 没有分支限制 会阻止您提交
只有创建 Pull Request 的用户才能授予您向用户拥有的 Fork 推送提交的权限。有关更多信息,请参阅“允许更改从 Fork 创建的 Pull Request 分支”。
注意
您也可以通过 GitHub.com 对从仓库 Fork 创建的 Pull Request 分支进行提交,方法是创建您自己的仓库 Fork 副本(或复制),然后对与原始 Pull Request 更改创建的相同的 head 分支提交更改。有关一些常规准则,请参阅“从 Fork 创建 Pull Request”。
-
在 GitHub 上,导航到创建 Pull Request 分支的 Fork(或仓库副本)的主页。
-
在文件列表上方,单击 代码.
-
复制仓库的 URL。
-
要使用 HTTPS 克隆仓库,在“HTTPS”下,单击.
-
要使用 SSH 密钥(包括组织的 SSH 证书颁发机构颁发的证书)克隆仓库,请单击**SSH**,然后单击.
-
要使用 GitHub CLI 克隆仓库,请单击**GitHub CLI**,然后单击.
-
-
打开终端终端Git Bash。
提示
如果您更喜欢使用 GitHub Desktop 克隆 Fork,请参阅“克隆仓库”。
-
将当前工作目录更改为要下载克隆目录的位置。
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-branch
git checkout TEST-BRANCH
提示
有关拉取请求分支的更多信息(包括示例),请参阅“创建拉取请求”。
-
此时,您可以对该分支进行任何操作。您可以向其推送新的提交,运行一些本地测试,或将其他分支合并到该分支中。根据您的喜好进行修改。
-
在您将更改提交到拉取请求的 HEAD 分支后,您可以直接将更改推送到原始拉取请求。在这个例子中,HEAD 分支是
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 上的原始拉取请求中。
进一步阅读
- “关于分支”