拉取请求审查(Review pull requests)

学习如何在GitHub上进行协作

Welcome

所有伟大的项目都始于合作。 拉取请求是 GitHub 上团队合作的基础 - PR评审允许协作者添加审查注释,参与拉取请求讨论,通过或驳回请求,甚至提出修改建议。

  • 目标人群:开发者、GitHub 新用户,Git新人,学生,管理者,团队
  • 课程目标:何时以及如何发起审查,如何对其他人的拉取请求进行审查
  • 你将构建:我们将通过一个简单的游戏示例演示如何审查PR。
  • 前置条件:假设您已熟悉分支、提交、拉取请求。否则,请先学习我们的GitHub快速入门课程
  • 学习时长:大约30分钟

通过本课程,您将

  1. 打开一个拉取请求

  2. 分配给自己

  3. 发布评论

  4. 添加修改建议

  5. 批准修改

  6. 合并拉取请求

如何开始

start-course
  1. 右键点击上方 Start course 按钮

  2. 在新页面中根据系统提示新建一个仓库。

    • 仓库名称、描述这些字段系统已经帮我们自动填充好了,您可以按需修改。
    • 建议使用选择公共仓库,因为私有仓库 GitHub Action有免费额度限制
    • 最后点击 Create repository 按钮
  3. 仓库创建完毕后,等待大约 20 秒(等待Action执行),然后刷新页面。注意是刷新您仓库的页面,不是本课程的页面。如果页面没有变化,请继续等待。

打开一个拉取请求

欢迎来到 "Review pull requests" 课程! 👋

我们先打开一个拉取请求

什么是拉取请求?(pull request): 协作体现在拉取请求上。拉取请求向他人展示您分支中的发生的更改。 此拉取请求将保留您刚刚在分支上所做的更改,并建议将它们应用到main分支。

⌨️ 动手练习:创建一个拉取请求

  1. 点击仓库Pull requests tab页

  2. 点击 New pull request 新建拉取请求

  3. base 下拉框选择:main

  4. compare 下拉框选择:update-game

  5. 点击 Create pull request

  6. 为您的PR输入标题:Update the game over message

  7. 为您的PR输入描述:Update the game over message so people know how to play again!

  8. 点击 Create pull request

  9. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤2:分配处理人

干的不错,您打开了一个拉取请求!👋

什么是拉取请求审查(pull request review)? 审查PR是检查其他贡献者的更改并向他们提供建议和反馈的机会。 同时,这是一个了解项目如何工作以及其他人如何解决问题的绝好机会。

在 GitHub 上,您可以通过指定分配某人为审阅者或处理人来要求其审阅拉取请求。 如果您还没有准备好接受审核,请考虑将拉取请求设置为草案(draft)。

⌨️ 动手练习:分配给自己

  1. 打开你刚刚创建的PR

  2. 在右侧的 Assignees 中,添加自己。因为你是PR的创建者,因此您无法将自己指定为审阅者(Reviewer),但可以随意指定朋友作为审阅者,以了解其如何运作的 😄

  3. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤3:发表评论

拉取请求审查可确保项目质量并保持项目变更的势头。

审查PR时我们需要

  1. 首先通过PR的标题和正文描述,了解该请求修改是否符合项目的目标和要求

  2. 比较差异(diff),审查本次新增和删减内容

  3. 检查实际更改是否符合预期

在审阅评论中需要您

  1. 识别潜在问题、风险和限制

  2. 提出建议和改进

  3. 分享对PR未考虑到的即将发生的更改的认识

  4. 分享有关即将发生变化的认识,而这些变化并未在PR中说明。

  5. 提出问题以验证共同的理解

  6. 强调作者做得好的以及应该继续做的事情

  7. 优先考虑最重要的反馈

  8. 简洁并提供有意义的细节

  9. 以善意和同理心对待PR作者

⌨️ 动手练习:发表评论

  1. 打开拉取请求页面,点击 Files changed
  2. 点击Review changes
  3. 在编辑框里写点评论,表达您对拉取请求的初步想法
  4. 选择comment,因为您无法批准自己。
    • comments:一般反馈。没有明确审批通过
    • Approval:审批通过。允许本次PR
    • Request changes:要求修改。PR发起人需要解决反馈的问题,才能合并请求
  5. 点击 Submit review 提交
  6. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤4:添加修改建议(Suggest changes)

干的不错,您完成了一次拉取请求审查✨

您已经学习了查看拉取请求的不同方法,现在是时候学习如何添加修改建议。

什么是修改建议:此功能使您能够建议对拉取请求进行更改,作者只需按一下按钮即可提交您建议的修改。

⌨️ 动手练习:添加建议

  1. 在拉取请求页面,点击Files changed
  2. 找到 index.html 文件
  3. 鼠标悬浮到左边的的行号旁边
  4. 点击蓝色的加号按钮
  5. 弹出评论框后,选择 Add a suggestion 按钮
  6. 编辑建议修改的内容
  7. 点击 Add a single comment
  8. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤5:应用建议

让我们看看如何应用您的建议

⌨️ 动手练习

  1. 点击 Commit suggestion

  2. 输入commit消息

  3. 点击Commit changes

  4. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

步骤6:合并拉取请求

终于! ❤️

您现在可以合并您的拉取请求了。

动手

  1. 点击Merge pull request
  2. 删除update-game分支(可选)
  3. 等待大约20秒,然后刷新页面。GitHub Actions 将自动更新到下一步。

完成

恭喜您完成了本课程!

请记住,高质量的评审可以大大提高您的项目质量,

课程回顾:

  1. 如何为拉取请求分配评审
  2. 您发布了一次拉取请求评论
  3. 您为拉取请求提出了修改建议
  4. 最后您应用了修改建议