关于拉取请求
拉取请求是将更改集从一个分支合并到另一个分支的建议。 在拉取请求中,协作者可以首先检查和讨论建议的更改集,然后再将更改集成到主代码库。 拉取请求会显示源分支中内容与目标分支中内容之间的差异。
注意: 在处理拉取请求时,请记住以下事项:
- 如果处理共享存储库模型,建议为拉取请求使用主题分支。 从任何分支或提交都可发送拉取请求,但如果需要更新提议的更改,则可使用主题分支推送跟进提交。
- 强制推送提交到拉取请求时要非常小心。 强制推送会更改存储库历史记录,并可能损坏您的拉取请求。 如果其他协作者在强制推送之前对项目进行分支,则强制推送可能会覆盖协作者基于其工作的提交。
可以在 GitHub.com、GitHub Desktop、GitHub Mobile 上以及使用 GitHub CLI 时创建拉取请求。
在初始化拉取请求后,您会看到一个审查页面,其中简要概述您的分支(整个分支)与仓库基本分支之间的更改。 可以添加建议更改的摘要,审查提交所做的更改,添加标签、里程碑和受理人,以及 @mention 个人参与者或团队。 有关详细信息,请参阅“创建拉取请求”。
在创建拉取请求后,您可以从主题分支推送提交,以将它们添加到现有的拉取请求。 这些提交将以时间顺序显示在您的拉取请求中,在 "Files changed"(更改的文件)选项卡中可以看到更改。
其他贡献者可以审查您提议的更改,添加审查注释,参与拉取请求讨论,甚至对拉取请求添加评论。
对提议的更改感到满意后,您可以合并拉取请求。 如果您在使用共享仓库模型,可以创建一个拉取请求,然后您或其他人将您的功能分支中的更改合并到您在拉取请求中指定的基础分支。 有关详细信息,请参阅“合并拉取请求”。
如果需要对仓库进行状态检查,必须通过所需的状态检查后,您才可将分支合并到受保护分支。 有关详细信息,请参阅“关于受保护分支”。
你可以将拉取请求链接到问题,以显示修复正在进行中,并在某人合并拉取请求时自动关闭该问题。 有关详细信息,请参阅“将拉取请求链接到议题”。
提示:
您可以访问仪表板,快速找到操作或订阅的最近更新的拉取请求链接。 有关详细信息,请参阅“关于个人仪表板”。
草稿拉取请求
拉取请求草稿可用于具有组织的 GitHub Free 和传统的按存储库结算方案的公共存储库,以及具有 GitHub Team、GitHub Enterprise Server 和 GitHub Enterprise Cloud 的公共和专用存储库。
在创建拉取请求时,可以选择创建可直接审查的拉取请求,或草稿拉取请求。 草稿拉取请求不能合并,也不会自动向代码所有者申请审查草稿拉取请求。 有关创建草稿拉取请求的详细信息,请参阅“创建拉取请求”和“从复刻创建拉取请求”。
准备获取对拉取请求的反馈时,可将拉取请求草稿标记为可供审查。 将拉取请求标记为可供审查将要求任何代码所有者进行审查。 您可以随时将拉取请求转换为草稿。 有关详细信息,请参阅“更改拉取请求的阶段”。
比较页和拉取请求页上的提交之间的差异
比较页和拉取请求页使用不同的方法来计算已更改文件的差异:
- 比较页显示头部引用的提示与头部及基础引用当前的共同上层节点(即合并基础)之间的差异。
- 拉请求页面显示在创建拉取请求时头部引用头与头部和基础的共同上层节点之间的差异。 因此,用于比较的合并基础可能不同。
延伸阅读
- GitHub 术语表中的“GitHub 词汇表”
- “关于分支”
- “评论拉取请求”
- “关闭拉取请求”