- 云原生应用架构:微服务开发最佳实战
- FreeWheel核心业务系统开发团队
- 550字
- 2022-05-06 18:28:25
3.3.4 代码提交与合并
通常,一个PR中包含一次或多次提交(commit)。每次提交应当体现一处很小的改动,并对这处改动有清晰的描述。我们可以使用Git命令提交代码。
提交的描述非常重要。它有助于团队其他成员了解代码的含义。我们甚至会在代码提交几年后通过搜索代码提交记录来回忆为什么这么实现。没有准确的描述,这一切将无从谈起。
一个PR开发完成后,团队就可以准备提交了。提交时,要将本地功能分支推送到远端,然后新建PR,按需求指向开发分支或预发布分支。PR提交时,可以设置一个或多个代码评审人员。一般来说,代码评审完成后就可以考虑合并了。合并时,应当确保以下几点。
● 只有PR上的所有评审人员都同意时,代码才可以被合并。
● 每次PR的改动会触发持续集成,比如单元测试、Sonar代码检查,只有这些全部通过时代码才可以被合并。
● PR合并由代码评审人员中的一人执行。任何人不可以合并自己的代码。
图3-10是PR合并的示例。可见,该PR共获得了两个代码评审人员的批准,通过了7个检查,可以被合并到目标分支。
图3-10
此外,应当使用项目管理工具来追踪PR的生命周期。我们团队使用Jira来追踪PR。每个PR,甚至每个提交都要有Jira任务号(ticket number),这样PR从新建到关闭,以及PR每次更新都会被记录。团队成员可以通过任务号来找到对应的代码改动,也可以从某一行代码追溯到对应的任务号来了解代码的含义。