评审和提交拉取请求

已完成

拉取请求 (PR) 是用于将知识获取到 Learn 平台的票证。 你创建了一个 PR,但它尚未提交到目标存储库的 PR 队列。 与许多开源项目一样,在发布之前会进行一系列检查和评审来验证更改。

PR 剖析

打开的拉取请求的屏幕截图。

PR 会显示创建了 PR 的 GitHub 用户、目标存储库以及在其中创建了 PR 的分支。 PR 顶部有多个选项卡,包括:

  • “对话”选项卡:一个仪表板,可在其中查看和答复其他协作者的注释,查看整个生成和评审过程中的通知列表,并使用注释自动化来执行操作。
  • “提交”选项卡:对该分支所做更改的记录。
  • “更改的文件”选项卡:PR 中更改的文件与其之前状态的比较。

请仔细留意“对话”选项卡,其中包含发生的任何更新或通知,以及你、审阅者和其他协作者之间的任何讨论。 还可以在此处添加井号标签注释以执行所需操作,例如对 PR 进行签名,以指示该 PR 已可进行验证和合并,或如果需要暂停该 PR,则将其暂缓。

PR 通常带有指示其状态的标签,例如 draft 表示还未做好评审准备的草稿 PR,do-not-merge 表示新的或未评审的 PR。

验证

PR 可能需要经历一个或多个 PR 验证和批准过程,才能合并到其目标分支中。 选择“创建拉取请求”后,GitHub 会运行为存储库配置的验证。 验证过程完成后,PR 中会显示结果。

验证过程因提议的更改范围和目标存储库的规则而异。 提交 PR 后,预期会发生以下一项或多项操作:

  • 可合并性:首先进行基线 GitHub 可合并性测试,以确认在你的分支中提议的更改与目标分支是否存在冲突。 如果 PR 中显示此测试失败,则必须调整导致合并冲突的内容,然后处理才能继续进行。
  • 贡献许可协议 (CLA):如果你正在为某个公共存储库贡献内容,但你不是 Microsoft 员工,则根据所提议的更改量,在首次提交该存储库的 PR 时,你可能需要先完成一个简短的 CLA。 完成 CLA 步骤后,你的 PR 会得到处理。
  • 标签:将自动向你的 PR 应用标签,以指示 PR 在整个验证工作流期间的状态。 例如,新的 PR 可能会自动收到“do-not-merge”标签,指示 PR 尚未完成验证、评审和签名步骤。
  • 验证和生成:自动化检查会验证更改是否已通过验证测试。 验证测试可能会生成警告或错误,要求你对 PR 中的一个或多个文件进行更改,然后才能将其合并。 验证测试结果将作为注释添加到 PR 中以供查看,也可能通过电子邮件发送给你。
  • 过渡:受更改影响的文章页面会自动部署到过渡环境,供验证和生成成功后进行审阅。 PR 备注中包含预览 URL。
  • 自动合并:如果 PR 通过了验证测试并符合特定条件,则可能会自动合并该 PR。 在这种情况下,你无需执行任何其他操作。

评审和签名

即将走完流程! 走完全部 PR 流程后,最佳做法是评审结果(例如 PR 注释、预览 URL),以确定在为合并进行签名之前是否需要进行更多更改。 如果有 PR 审阅者评审了 PR,并发现了导致无法合并的未解决问题,他们还可以通过注释提供反馈。

使用注释自动化在 PR 中执行重要操作。 借助注释自动化,用户能够将相应标签分配给其 PR 以更新其状态或对其进行分类。 如果在实现了注释自动化的存储库中工作,则使用井号标签注释来分配或更改标签、关闭 PR 或暂停合并。 例如,完成更改后,键入注释“#sign off”可将 PR 标签从 do-not-merge 更改为 ready-for-review.

使用下表中的注释在 PR 中执行关键操作:

井号标签注释 作用
#sign-off 自动分配“ready-to-merge”标签,让存储库中的审阅者知道 PR 已做好评审/合并准备。

如果你不是被列出的作者,但想尝试使用 #sign-off 注释对一个公共存储库 PR 进行签名,该 PR 会更新以指示只有被列出的作者可以分配标签。
#hold-off 在你改变主意或出错的情况下,移除“ready-to-merge”标签。
#please-close 当你决定不合并更改时,关闭 PR。
#please-open 重新打开关闭的 PR 或问题。

你必须输入注释 #sign-off 才能合并更改。 即使已通过所有评审和验证检查,你仍有义务使用此注释告诉 PR 审阅者和存储库管理员,在你这边,你的更改已做好合并准备。 当审阅者确定你的 PR 无问题并签名后,你的更改将合并回父分支,该 PR 将被关闭。

PR 上的注释框的屏幕截图,在注释字段中键入了 #sign-off,并且突出显示了“注释”按钮。

发布

请记住,你的 PR 必须由 PR 审阅者执行合并,然后相应的更改才能包含在所计划的下一次发布运行中。 通常情况下,将按提交顺序评审和合并各个 PR。

供稿内容在得到批准并进行合并后,发布过程会选取这些内容。 发布时间可能会有所不同,但通常每个工作日至少会发布一次,具体取决于负责管理你参与贡献的存储库的团队。 文章发布后出现在网上最多耗时 45 分钟。

你的更改发布后,它们会立即在 Microsoft Learn 上线以供其他人学习!

场景:将更改发布到 Azure 应用服务

基于以往经验,你认为应该向应用服务文档页面添加一些有用的信息,于是你创建了一个 PR 来添加更改。 现在,你已做好准备,可评审你的 PR 并对其签名以发布编辑内容。