注意:拉取请求作者可以授予上游仓库维护者或对上游仓库具有推送权限的人员,对他们拉取请求的比较分支(在用户拥有的 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 '[email protected]:USERNAME/REPOSITORY.git'
提示: 当您删除或重命名远程引用时,您的本地 refs/pull/origin/
命名空间不会受到 git-remote
调用的影响。