如果要为拉取请求创建新分支,又没有仓库的写入权限,可以先对仓库复刻。 有关详细信息,请参阅 从复刻创建拉取请求 和 关于分叉。
您可以在创建拉取请求时指定要将更改合并到哪个分支。 拉取请求只能在不同的两个分支之间打开。
Note
要在公共存储库中打开拉取请求,你必须具有对头分支或源分支写入权限;对于组织拥有的仓库,你必须是拥有该存储库的组织的成员才能打开拉取请求。
你可以将拉取请求链接到问题,以显示修复正在进行中,并在某人合并拉取请求时自动关闭该问题。 有关详细信息,请参阅“将拉取请求链接到议题”。
更改分支范围和目标仓库
默认情况下,拉取请求基于父仓库的默认分支。 有关详细信息,请参阅“关于分支”。
如果默认父仓库不正确,您可以使用下拉列表更改父仓库和分支, 还可以使用下拉列表交换头部分支和基本分支,以确定引用点之间的差异。 这里的引用必须是 GitHub 仓库中的分支名称。
考虑分支时,请记住,“基础分支”是应应用更改的位置,“头部分支”包含要应用的内容。
更改基本仓库时,也会更改关于拉取请求的通知。 每个对基本仓库有推送权限的人都会收到电子邮件通知,他们下次登录时会在仪表板上看到新的拉取请求。
更改分支范围中的任何信息时,提交和文件更改预览区将更新以显示您的新范围。
Tip
- 使用比较视图可设置跨任何时间范围的比较。 有关详细信息,请参阅“比较提交”。
- 项目维护员可以为仓库添加拉取请求模板。 模板包括拉取请求正文中的信息提示。 有关详细信息,请参阅“关于议题和拉取请求模板”。
创建拉取请求
Note
若要详细了解 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 浏览器中创建拉取请求,请使用 --web
标志。
gh pr create --web
对拉取请求中的文件进行更改
打开拉取请求后,可以通过向头部分支添加新的提交来继续更改文件。