在拉取请求分支上进行提交必须满足以下条件:
- 在你拥有推送权限的仓库中打开,并且是从仓库的分支创建的
- 在用户拥有的分支上
- 拥有拉取请求创建者授予的许可
- 没有阻止你提交的分支限制
只有创建拉取请求的用户才能授予您向用户拥有的复刻推送提交的权限。 有关详细信息,请参阅“允许更改从复刻创建的拉取请求分支”。
Note
还可以通过创建自己的存储库分支副本(或分支)并将更改提交到创建原始拉取请求更改的头部分支,从而通过 GitHub.com 向存储库分支的拉取请求分支进行提交。 有关一些常规准则,请参阅“从复刻创建拉取请求”。
-
在 GitHub 上,导航到创建拉取请求分支的复刻(或仓库副本)的主页面。
-
在文件列表上方,单击 “代码”。
-
复制存储库的 URL。
-
要使用 HTTPS 克隆存储库,请在“HTTPS”下单击 。
-
要使用 SSH 密钥克隆存储库,包括组织的 SSH 证书颁发机构颁发的证书,请单击“SSH”,然后单击 。
-
要使用 GitHub CLI 克隆存储库,请单击“GitHub CLI”,然后单击 。
-
-
打开终端终端Git Bash。
Tip
如果你喜欢使用 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.
Tip
错误消息“致命错误: 目标路径 'REPOSITORY-NAME' 已存在并且不是空目录”表示你当前的工作目录已包含同名存储库。 要解决此错误,必须将复刻克隆到另一个目录中。
-
导航到新的克隆仓库。
cd FORK-OF-THE-REPOSITORY
-
将分支切换到进行原始更改的拉取请求的比较分支。 如果您导航到原始拉取请求,您将在拉取请求的顶部看到比较分支。
在此示例中,比较分支为
test-branch
:git checkout TEST-BRANCH
Tip
有关拉取请求分支的详细信息(包括示例),请参阅“创建拉取请求”。
-
现在,您可以使用此分支执行任何操作。 您可以向该分支推送新提交、运行一些本地测试或将其他分支合并到其中。 根据需要进行修改。
-
在更改提交到拉取请求的头部分支后,您可以将更改直接推送到原始拉取请求。 在此示例中,头部分支为
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 上的原始拉取请求中。
深入阅读
- "关于分叉"