近期随着团队规模的扩大以及业务需求的逐渐增长,我花时间思考了团队的代码协作方式,过程中有些收获跟大家分享一下。
首先推荐几篇文章:
阮一峰的博客介绍了比较主流的集中Git工作流程,再加上这里提到的SVN时代的单主干模型,大家应该有个比较全面的认识了。
那么这么多的方式应该如何选择呢?我目前的理解是:
单主干模式
主干开发,tag或分支发布。这个应该不用考虑了,小项目,两三个人应该还可以玩玩,否则可能应该可以忽略了。
Git Flow
适用于长周期的,基于版本发布的项目。不太适合频繁迭代的项目。
要点:长期维护master和development两个分支。master保持绝对的纯净,更新只来自development的merge。development的更新来自其他所有功能branch的merge。在频繁迭代的项目中,这两个分支基本重合了,所以意义就不大了。
变更的开发过程:首先从development分支创建feature分支,进行相关开发,然后merge到development。之后这个featu