使用 Phabricator & Arcanist 进行 Code Review 的流程
之前我们讲过 Git 使用规范与注意事项,这次我们需要在 git 基础上加入 code review 机制。
下面 git 命令的简写,请参考上面链接中的内容。
Before Using Phabricator & Arcanist
Minor Change
如果只是修改小部分代码,不需要开 feature branch,比如修复某个崩溃,开发工作的流程为:
- git co develop; git pull
- 修改代码
- git commit -a -m “xxxx”
- 重复2和3
- git pull –rebase,如果有冲突,解决冲突
- git push
- 重复1到6
Feature Development
如果进行大改动,需要开 feature branch,比如业务改造,开发流程会多增加几步:
- git co develop; git pull
- git co -b new_feature_branch; git push -u origin new_feature_branch
- 修改代码
- git commit -a -m “xxxx”
- 重复3和4
- git pull –rebase,如果有冲突,解决冲突
- git push
- 重复上面3~7步
- git co develop; git merge –no-ff new_feature_branch
- git branch -d new_feature_branch
- 重复1到10
也就是说,在 new_feature_branch 开发完成前,修改都是在 new_feature_branch 上进行 commit,最后new feature 完成后,再 merge 到 develop。
After Using Phabricator & Arcanist
phabricator实战使用,描述了一次 arc diff 以及 arc land 的过程。
phabricator的code review流程,比较灵活,但需要掌握的配置也多,这里是它的官方文档。
code review 大致的流程为:
1. 修改代码
2. arc diff,生成 revision,它的状态为 Need Review
3. 邮件通知 reviewer 进行审核。如果审核不过,它会被置为 Need Revision,再次 diff 后,会重新回到 Need Review 状态;如果审核通过,它会被置为 Accepted
4. arc land 后,revision 的状态会变为 Closed
真实的开发情况会比上面描述的流程复杂一些,比如我们不会等待一次 code review request 被Accepted 后,才继续开发,而是等待过程中继续开发。
为了适应真实的开发情况,制定了一个流程和规