代码什么时候提交到主分支
2015-11-03 本文已影响613人
流星狂飙
软件开发中有一个持续集成的概念。它是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。除了自动化测试部署,�频繁地(一天多次)将代码集成到主干。
(1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
(2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。
简单一点来说就是功能开发完成,就可以提交到主分支了。但是功能开发完成的标志点是,测试通过、review 完成。
那什么时候代码才应该被提交到主分支呢?
分支的概念和 git 工作流请移步 企业级开发:Gitflow Workflow工作流。
测试
代码仓库对commit操作配置了钩子(hook),只要提交代码或者合并进主干,就会跑自动化测试。测试有好几种。
- 单元测试:针对函数或模块的测试
- 集成测试:针对整体产品的某个功能的测试,又称功能测试
- 端对端测试:从用户界面直达数据库的全链路测试
第一轮至少要跑单元测试。
代码 review 相当重要,不能让任何没有审查过的代码提交到主分支。在Google,没有程序,任何产品、任何项目的程序代码,可以在没有经过有效的代码审查前提交到代码库里的。
流程
在前后端分离的开发中,比较好的流程就是把审查加入到各个环节。
- 需求分析
- 需求评审
- 先定义开发文档
- 开发文档评审
- 前端、后端在各自的分支开发。
- 前端使用测试接口,开发。http://mockjs.com/ 模拟数据
- 后端一个小功能点完成,提交 pull request
- 审查
- 合并
- 前端拉取代码,接入调试
- 前端提交Pull reqeust

最后是集成发布!