购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

Pull Request审阅

如果某个用户已被选中为审阅者,可以对许多更改进行注释、提出建议,并最终提交带有以下标记之一的审阅:

●Comment

●Approve

●Request changes

在上一节中重点介绍了与Pull Request作者相关的功能。本节将描述一个帮助审阅者执行审阅并向作者提供适当反馈的功能。

审阅Pull Request中提议的修改

用户可以通过一次查看一个文件的更改来开始审阅。如果将鼠标悬停在行上,则会在左侧看到+图标。它可用于添加单行注释,或者将其拖动到多行上来创建多行注释。如果用户需要添加注释,请选择Start review(开始审阅)以开始审阅而无须提交注释。如果要添加更多注释,则按钮变为Add review comment(添加审阅注释);可以向审阅添加任意数量的注释。注释只对自己可见,直到提交审阅。用户还可以随时取消审阅。

将文件标记为已查看

审阅时,用户会在文件顶部看到进度条。完成一个文件后,用户可以选择“Viewed”复选框。文件将被折叠,进度条将显示进度(参见图3-14)。

图3-14 将文件标记为已查看

动手实践:提出建议

提供反馈的最佳方式是提出使Pull Request作者可以轻松融入其分支的建议。suggestions(建议)这个功能非常重要,如果读者从来没有尝试过,那么值得一试:

1.在上一个实践练习过程里创建的存储库(https://github.com//AccelerateDevOps)中打开fork。

在fork中,导航至Chapter 3|Review Changes(ch3_pull-request/Review-Changes.md),该文件还包含操作指南。

通过单击源代码块右上角的“Copy”图标复制示例源代码。

2.定位到src/app.js(使用Markdown中的链接)。选择在上一个动手实践中创建的分支,并通过单击右上角的Edit图标(铅笔)来编辑该文件(参见图3-15)。

3.删除第2行,然后按“Ctrl+V”组合键插入代码。

4.直接提交到Pull Request的源分支。

5.返回Pull Request并在Files changed下查找src/app.js。请注意,第6~9行中的嵌套循环没有正确缩进。标记第6~9行并创建多行注释。单击Suggestion按钮,会看到代码在Suggestion块中,包括空格(见图3-16)。

图3-15 编辑代码文件以添加示例代码

图3-16 为多行注释创建建议

6.注意,Suggestion代码块包含完整的代码,包括空格。在每一行的开头加四个空格以修正缩进。

可以将Suggestion作为审阅的一部分(Start a review)或将Suggestion直接提交给作者(Add single comment)。对于此次实践练习,建议直接提交给作者。

将反馈合并到Pull Request中

假设用户是审阅者和作者,可以直接切换角色。作为作者可以查看Pull Request的所有建议。

用户可以直接向分支提交建议,或者可以将多个建议批量提交到一个提交中,然后一次性提交所有更改。将更改添加到批处理并在文件顶部应用批处理(参见图3-17)。

图3-17 将建议整合到代码中

建议是提供反馈和提议代码更改的好方法。对于作者来说,将它们合并到代码中是非常容易的。

提交审阅

如果已完成审阅并添加了所有注释和建议,则可以提交审阅。作者将被告知审阅结果,并可以答复注释。用户可以留下最后的注释并选择以下三个选项之一:

●Approve(批准):批准更改。这是达到所需审阅者数量的唯一选项!

●Comment(注释):提交反馈而不批准或拒绝。

●Request changes(请求修改):指明需要批准更改。

单击“Submit review”完成审阅(参见图3-18)。

图3-18 完成审阅

完成Pull Request

如果要放弃分支中的更改,可以关闭Pull Request而不进行合并。要将更改合并到基本分支中,有三个合并(merge)选项,概述如下:

●Create a merge commit:这是默认选项。它创建一个合并提交,并将分支中的所有提交作为一个单独的分支显示在历史记录中。如果有许多长期运行的分支,这可能会使历史记录变得混乱。图3-19为此合并选项的示意图。

图3-19 合并提交时的Git历史记录

●Squash and merge:分支中的所有提交都将合并为一个提交。这将创建一个干净的线性历史记录,如果在合并后删除分支,这是一个很好的合并方法。如果继续处理分支,则不建议使用此方法。图3-20为此合并选项的示意图。

图3-20 进行了压缩和合并后的Git历史记录

●Rebase and merge:将分支的所有提交应用到基础分支的开头。这也创建了一个线性历史记录,但保留了单个提交。如果继续在分支上工作,不建议使用此方法。图3-21为此合并选项的示意图。

图3-21 如果进行了一次变基和合并,Git历史记录看起来是线性的

选择所需的合并方法,然后单击“Merge pull request”(参见图3-22)。

图3-22 完成合并Pull Request

修改合并消息并单击“Confirm merge”以确认合并。合并后,可以根据需要删除分支。 hLZmfLr3a17Lk2vvWZwOkRI5p32HWZuDufImorldr/buUw/sL1EPPSYj12RBo6Lo

点击中间区域
呼出菜单
上一章
目录
下一章
×