如果要为拉取请求创建新分支并且没有对仓库的写入权限,可以先为仓库创建分支。有关更多信息,请参阅“从分支创建拉取请求”和“关于分支”。
创建拉取请求时,可以指定要将更改合并到的分支。拉取请求只能在两个不同的分支之间打开。
注意
要在公共仓库中打开拉取请求,您必须拥有头分支或源分支的写入权限,或者对于组织拥有的仓库,您必须是拥有该仓库的组织的成员才能打开拉取请求。
您可以将拉取请求链接到问题,以显示修复正在进行中,并在有人合并拉取请求时自动关闭该问题。有关更多信息,请参阅“将拉取请求链接到问题”。
更改分支范围和目标仓库
默认情况下,拉取请求基于父仓库的默认分支。有关更多信息,请参阅“关于分支”。
如果默认父仓库不正确,您可以使用下拉列表更改父仓库和分支。您也可以使用下拉列表交换您的头分支和基分支,以便建立参考点之间的差异。这里的引用必须是您 GitHub 仓库中的分支名称。
考虑分支时,请记住基分支是应用更改的位置,头分支包含您想要应用的内容。
更改基仓库时,也会更改拉取请求的通知。所有可以向基仓库推送代码的人员都会收到电子邮件通知,并在下次登录时在其仪表板上看到新的拉取请求。
更改分支范围中的任何信息时,“已提交更改”和“已更改文件”预览区域将更新以显示新的范围。
提示
- 使用比较视图,您可以设置跨任何时间段的比较。更多信息,请参阅“比较提交”。
- 项目维护者可以为仓库添加拉取请求模板。模板包含拉取请求正文中信息的提示。更多信息,请参阅“关于问题和拉取请求模板”。
创建拉取请求
-
在 GitHub 上,导航到仓库的主页。
-
在“分支”菜单中,选择包含您提交的分支。
-
在文件列表上方的黄色横幅中,单击比较和拉取请求以为此关联分支创建拉取请求。
-
使用基分支下拉菜单选择要将更改合并到的分支,然后使用比较分支下拉菜单选择您在其中进行更改的主题分支。
-
为您的拉取请求键入标题和说明。
-
要创建准备审查的拉取请求,请单击创建拉取请求。要创建草稿拉取请求,请使用下拉菜单并选择创建草稿拉取请求,然后单击草稿拉取请求。如果您是组织的成员,您可能需要向组织所有者请求访问草稿拉取请求的权限。请参阅“关于拉取请求”。
拉取请求经过审查后,可以合并到仓库中。
要了解有关 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。
要创建拉取请求,请使用gh pr create
子命令。
gh pr create
要将拉取请求分配给个人,请使用--assignee
或-a
标志。您可以使用@me
将拉取请求自我分配。
gh pr create --assignee "@octocat"
要指定要将拉取请求合并到的分支,请使用--base
或-B
标志。要指定包含拉取请求提交的分支,请使用--head
或-H
标志。
gh pr create --base my-base-branch --head my-changed-branch
要为新的拉取请求包含标题和正文,请使用--title
和--body
标志。
gh pr create --title "The bug is fixed" --body "Everything works again"
要将拉取请求标记为草稿,请使用--draft
标志。
gh pr create --draft
要向新的拉取请求添加标签或里程碑,请使用--label
和--milestone
标志。
gh pr create --label "bug,help wanted" --milestone octocat-milestone
要将新的拉取请求添加到特定项目,请使用--project
标志。
gh pr create --project octocat-project
要将个人或团队指定为审阅者,请使用--reviewer
标志。
gh pr create --reviewer monalisa,hubot --reviewer myorg/team-name
要在默认网络浏览器中创建拉取请求,请使用--web
标志。
gh pr create --web
-
单击预览拉取请求。GitHub Desktop 将打开一个预览对话框,显示当前分支和基分支之间更改的差异。
或者,要直接转到 GitHub 创建拉取请求,请选择下拉图标并单击创建拉取请求。
-
确认基分支:下拉菜单中的分支是您要将更改合并到的分支。
GitHub Desktop 将告知您当前分支是否可以自动合并到基分支。
-
单击创建拉取请求。GitHub Desktop 将打开您的默认浏览器,带您到 GitHub。
-
为您的拉取请求键入标题和说明。
-
要创建准备审查的拉取请求,请单击创建拉取请求。要创建草稿拉取请求,请使用下拉菜单并选择创建草稿拉取请求,然后单击草稿拉取请求。如果您是组织的成员,您可能需要向组织所有者请求访问草稿拉取请求的权限。请参阅“关于拉取请求”。
- 将更改提交到本地仓库副本后,单击创建拉取请求图标。
- 检查您从中合并的本地分支和仓库,以及您要合并到的远程分支和仓库是否正确。然后为拉取请求指定标题和说明。
- 单击创建。
有关在 GitHub Codespaces 中创建拉取请求的更多信息,请参阅“使用 GitHub Codespaces 进行拉取请求”。
更改拉取请求中的文件
打开拉取请求后,您可以通过向头分支添加新的提交来继续更改文件。
您也可以在 GitHub 网站上更改文件。
-
在 GitHub 上,导航到仓库中的拉取请求。
-
在拉取请求上,单击 已更改的文件.
-
向下滚动到您要更改的文件。
- 如果拉取请求有很多文件,您可以使用过滤器查找文件。请参阅“过滤拉取请求中的文件”。
-
在您要更改的文件上方,单击.
-
在菜单中,单击编辑文件。
-
在编辑器中进行更改,并在提交更改时,选择直接提交回您的头分支。
如果您是 Copilot Workspace 公共预览版的一部分,则单击“已更改文件”选项卡上的文件上的编辑将打开 GitHub 上的 Copilot Workspace 中的文件。在 Copilot Workspace 中,您仍然可以更改文件,还可以更改仓库中的其他文件,将更改分组到单个提交中,并利用 Copilot 代码完成。
您可以通过选择编辑单个文件或单击拉取请求右侧边栏中的在 Workspace 中打开来访问 Copilot Workspace。有关 Copilot Workspace 和加入公共预览版的更多信息,请参阅“使用 Copilot 帮助您处理拉取请求”。