注意
拉取请求的作者可以授权上游仓库的维护者,或拥有上游仓库推送权限的用户,对其在用户拥有的 fork 中的比较分支进行提交。有关详细信息,请参阅 允许对从 fork 创建的拉取请求分支进行更改。
在本地修改活跃的拉取请求
-
在仓库名称下,点击 拉取请求。

-
在拉取请求列表中,点击你想要修改的拉取请求。
-
要选择打开拉取请求的位置,请在 代码 下拉菜单,并点击其中一个选项卡。

注意
要了解更多关于 GitHub CLI 的信息,请参阅 关于 GitHub CLI。
要在本地检出拉取请求,请使用 gh pr checkout 子命令。将 PULL-REQUEST 替换为该拉取请求的编号、URL 或头部分支名。
gh pr checkout PULL-REQUEST
在本地修改不活跃的拉取请求
如果拉取请求的作者对请求不作回应或已删除其 fork,则仍然可以通过新建拉取请求来合并该拉取请求中提出的更改。但是,如果你想对拉取请求进行修改而作者未响应,则需要执行一些额外的步骤来更新该拉取请求。
一旦拉取请求被打开,GitHub 会在远程存储所有更改。换句话说,拉取请求中的提交即使在合并之前也已在仓库中可用。你可以获取一个打开的拉取请求并将其重新创建为自己的分支。
任何人都可以使用之前打开的拉取请求继续进行开发、测试,甚至基于它打开一个包含更多更改的新拉取请求。不过,只有拥有推送权限的协作者才能合并拉取请求。
-
在仓库名称下方,点击 议题 或 拉取请求。

-
在 “拉取请求” 列表中,点击你想要合并的拉取请求。
-
找到该不活跃拉取请求的 ID 编号。该编号位于拉取请求标题后面的那串数字。

-
打开 终端终端Git Bash。
-
根据该 ID 编号获取对拉取请求的引用,同时创建一个新分支。
git fetch origin pull/ID/head:BRANCH_NAME -
切换到基于此拉取请求的新分支
[main] $ git switch BRANCH_NAME > Switched to a new branch 'BRANCH_NAME' -
此时,你可以对该分支执行任何操作。可以运行本地测试,或将其他分支合并进来。
-
准备好后,你可以将新分支推送至远程
[pull-inactive-pull-request] $ git push origin BRANCH_NAME > 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/REPOSITORY.git > * [new branch] BRANCH_NAME -> BRANCH_NAME -
创建一个新的拉取请求,使用你的新分支。
错误:推送某些引用失败
远程 refs/pull/ 命名空间是 只读 的。如果你尝试向其中推送任何提交,便会看到此错误。
! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)
error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'
提示
当你删除或重命名远程引用时,本地的 refs/pull/origin/ 命名空间不会受到 git-remote 调用的影响。