跳至主要内容

创建拉取请求

创建拉取请求以对仓库的更改提出建议并进行协作。这些更改在一个分支中提出,确保默认分支仅包含已完成且已批准的工作。

谁可以使用此功能?

任何拥有仓库读取权限的人都可以创建拉取请求。

平台导航

如果您想为拉取请求创建一个新分支且没有仓库的写入权限,您可以先对仓库进行 Fork。更多信息,请参阅 从 Fork 创建拉取请求关于 Fork

创建拉取请求时,您可以指定要将更改合并到的分支。拉取请求只能在两条不同的分支之间打开。

注意

要在公共仓库中打开拉取请求,您必须对目标(head)或源分支拥有写入权限;或者对于组织拥有的仓库,您必须是拥有该仓库的组织成员才能打开拉取请求。

您可以将拉取请求链接到议题,以表明此修复正在进行中,并在拉取请求合并时自动关闭议题。欲了解更多信息,请参阅 将拉取请求链接到议题

更改分支范围和目标仓库

默认情况下,拉取请求基于父仓库的默认分支。更多信息,请参阅 关于分支

如果默认的父仓库不正确,您可以使用下拉列表更改父仓库和分支。也可以使用下拉列表交换 head 分支和 base 分支,以在参考点之间建立差异。此处的引用必须是您 GitHub 仓库中的分支名称。

Screenshot of a pull request. The dropdown to edit the compare branch is expanded.

在考虑分支时,请记住 base 分支更改应当被应用的地方,而 head 分支 包含您希望被应用的内容

当您更改 base 仓库时,也会更改该拉取请求的通知。所有能够向 base 仓库推送的人都会收到电子邮件通知,并且下次登录时会在仪表板中看到新的拉取请求。

当您更改分支范围的任何信息时,“提交”和“已更改文件”预览区域会更新,以显示您新的范围。

提示

  • 使用比较视图,您可以在任意时间范围内设置比较。更多信息,请参阅 比较提交
  • 项目维护者可以为仓库添加拉取请求模板。模板会在拉取请求正文中提供信息提示。更多信息,请参阅 关于议题和拉取请求模板

创建拉取请求

  1. 在 GitHub 上,导航至仓库的主页面。

  2. 在 “Branch” 菜单中,选择包含您提交的分支。

    Screenshot of the branch dropdown menu on the main page of a repository.

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

    Screenshot of the banner above the list of files.

  4. 使用 base 分支下拉菜单选择您想将更改合并到的分支,然后使用 compare 分支下拉菜单选择您进行更改的主题分支。

  5. 为您的拉取请求输入标题和描述。

  6. 要创建准备审阅的拉取请求,请点击 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
  1. 点击 Preview Pull Request(预览拉取请求)。GitHub Desktop 将打开预览对话框,显示当前分支与基础分支之间更改的差异。

    Screenshot of the "No local changes" view. A button, labeled "Preview Pull Request", is highlighted with an orange outline.

    Screenshot of the "No local changes" view. A button, labeled "Preview Pull Request", is highlighted with an orange outline.

    或者,若要直接前往 GitHub 创建拉取请求,选择下拉图标并点击 Create Pull Request(创建拉取请求)

  2. 确认 base(基础): 下拉菜单中的分支是您希望合并更改的目标分支。

    Screenshot of the "Open a Pull Request" dialog window. A button with a dropdown icon, labeled "base: development", is outlined in orange.

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

    Screenshot of the "Open a Pull Request" dialog window. A status label stating "Can't automatically merge" is highlighted with an orange outline.

  3. 点击 Create Pull Request(创建拉取请求)。GitHub Desktop 将打开默认浏览器并带您前往 GitHub。

  4. 为您的拉取请求输入标题和描述。

  5. 要创建准备审阅的拉取请求,请点击 Create Pull Request(创建拉取请求)。要创建草稿拉取请求,请使用下拉菜单并选择 Create Draft Pull Request(创建草稿拉取请求),然后点击 Draft Pull Request(草稿拉取请求)。如果您是组织成员,可能需要向组织所有者请求对草稿拉取请求的访问权限。参见 关于拉取请求

  1. 一旦您将更改提交到本地副本,请点击 Create Pull Request 图标。
    Screenshot of the top of the "Source Control" side bar. The pull request icon is highlighted with a dark orange outline.
  2. 检查您要合并的本地分支和仓库,以及要合并进入的远端分支和仓库是否正确。随后为拉取请求提供标题和描述。
    Screenshot of the "GitHub Pull Request" side bar with a form for creating a pull request, including "Title" and "Description" fields.
  3. 点击 创建

有关在 GitHub Codespaces 中创建拉取请求的更多信息,请参阅 使用 GitHub Codespaces 进行拉取请求

在拉取请求中修改文件

打开拉取请求后,您可以继续向 head 分支添加新提交,以对文件进行更改。

您也可以直接在 GitHub 网站上修改文件。

  1. 在 GitHub 上,导航至仓库中的某个拉取请求。

  2. 在拉取请求页面,点击 已更改的文件

    Screenshot of the tabs for a pull request. The "Files changed" tab is outlined in dark orange.

  3. 向下滚动至您想要更改的文件。

  4. 在想要更改的文件上方,点击.

    Screenshot of the options above a file on the "File changed" tab. The "Show options" button is highlighted with an orange rectangle.

  5. 在菜单中,点击 Edit file

  6. 在编辑器中进行更改,并在提交时选择直接提交回您的 head 分支。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.