如果您想为拉取请求创建一个新分支且没有仓库的写入权限,您可以先对仓库进行 Fork。更多信息,请参阅 从 Fork 创建拉取请求 和 关于 Fork。
创建拉取请求时,您可以指定要将更改合并到的分支。拉取请求只能在两条不同的分支之间打开。
注意
要在公共仓库中打开拉取请求,您必须对目标(head)或源分支拥有写入权限;或者对于组织拥有的仓库,您必须是拥有该仓库的组织成员才能打开拉取请求。
您可以将拉取请求链接到议题,以表明此修复正在进行中,并在拉取请求合并时自动关闭议题。欲了解更多信息,请参阅 将拉取请求链接到议题。
更改分支范围和目标仓库
默认情况下,拉取请求基于父仓库的默认分支。更多信息,请参阅 关于分支。
如果默认的父仓库不正确,您可以使用下拉列表更改父仓库和分支。也可以使用下拉列表交换 head 分支和 base 分支,以在参考点之间建立差异。此处的引用必须是您 GitHub 仓库中的分支名称。

在考虑分支时,请记住 base 分支 是更改应当被应用的地方,而 head 分支 包含您希望被应用的内容。
当您更改 base 仓库时,也会更改该拉取请求的通知。所有能够向 base 仓库推送的人都会收到电子邮件通知,并且下次登录时会在仪表板中看到新的拉取请求。
当您更改分支范围的任何信息时,“提交”和“已更改文件”预览区域会更新,以显示您新的范围。
提示
- 使用比较视图,您可以在任意时间范围内设置比较。更多信息,请参阅 比较提交。
- 项目维护者可以为仓库添加拉取请求模板。模板会在拉取请求正文中提供信息提示。更多信息,请参阅 关于议题和拉取请求模板。
创建拉取请求
-
在 GitHub 上,导航至仓库的主页面。
-
在 “Branch” 菜单中,选择包含您提交的分支。

-
在文件列表上方的黄色横幅中,点击 Compare & pull request 来为关联的分支创建拉取请求。

-
使用 base 分支下拉菜单选择您想将更改合并到的分支,然后使用 compare 分支下拉菜单选择您进行更改的主题分支。
-
为您的拉取请求输入标题和描述。
-
要创建准备审阅的拉取请求,请点击 Create Pull Request(创建拉取请求)。要创建草稿拉取请求,请使用下拉菜单并选择 Create Draft Pull Request(创建草稿拉取请求),然后点击 Draft Pull Request(草稿拉取请求)。如果您是组织成员,可能需要向组织所有者请求对草稿拉取请求的访问权限。参见 关于拉取请求。
在拉取请求审查完毕后,您可以 将其合并到仓库。
注意
要了解更多关于 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
-
点击 Preview Pull Request(预览拉取请求)。GitHub Desktop 将打开预览对话框,显示当前分支与基础分支之间更改的差异。


或者,若要直接前往 GitHub 创建拉取请求,选择下拉图标并点击 Create Pull Request(创建拉取请求)。
-
确认 base(基础): 下拉菜单中的分支是您希望合并更改的目标分支。

GitHub Desktop 会提示您当前分支是否可以自动合并到基础分支。

-
点击 Create Pull Request(创建拉取请求)。GitHub Desktop 将打开默认浏览器并带您前往 GitHub。
-
为您的拉取请求输入标题和描述。
-
要创建准备审阅的拉取请求,请点击 Create Pull Request(创建拉取请求)。要创建草稿拉取请求,请使用下拉菜单并选择 Create Draft Pull Request(创建草稿拉取请求),然后点击 Draft Pull Request(草稿拉取请求)。如果您是组织成员,可能需要向组织所有者请求对草稿拉取请求的访问权限。参见 关于拉取请求。
- 一旦您将更改提交到本地副本,请点击 Create Pull Request 图标。

- 检查您要合并的本地分支和仓库,以及要合并进入的远端分支和仓库是否正确。随后为拉取请求提供标题和描述。

- 点击 创建。
有关在 GitHub Codespaces 中创建拉取请求的更多信息,请参阅 使用 GitHub Codespaces 进行拉取请求。
在拉取请求中修改文件
打开拉取请求后,您可以继续向 head 分支添加新提交,以对文件进行更改。
您也可以直接在 GitHub 网站上修改文件。
-
在 GitHub 上,导航至仓库中的某个拉取请求。
-
在拉取请求页面,点击 已更改的文件。

-
向下滚动至您想要更改的文件。
- 如果拉取请求包含大量文件,您可以使用筛选器定位文件。参见 在拉取请求中筛选文件。
-
在想要更改的文件上方,点击.

-
在菜单中,点击 Edit file。
-
在编辑器中进行更改,并在提交时选择直接提交回您的 head 分支。