git-flow
是关于如何使用Git的约定;
不仅代码要有规范,代码的管理也要有规范的流程,所有目前很多工程师都在用gitflow方案。
简单概括:
master 生产主分支 , 产品的功能全部实现后 , 最终在此对外发布。
develop 主开发分支 , 基于master分支克隆。
feature 功能开发分支 , 基于develop分支克隆 , 主要用于新需求新功能的开发。
release 测试分支 , 基于feature分支合并到develop之后 , 从develop分支克隆。
hotfix 补丁分支 , 基于master分支克隆 , 主要用于对线上的版本进行BUG修复。
详细描述:
【master分支】需要遵循一个基本原则,所有在master分支上的commit应该tag。
【feature分支】做完后,必须合并回develop分支, 合并完分支后一般会删点这个feature分支,但是也可以保留。
【release分支】基于develop分支创建,打完release分支后,我们可以在这个release分支上测试,修改bug等。发布release分支时,合并release到master和develop, 同时在master分支上打个tag记住release版本号。
【hotfix分支】基于master分支创建,开发完后需要合并回master和develop分支,同时在master上打一个tag。
工具推荐
Tower是mac上个人认为比较好用的git管理工具,图形操作其最重要是能够提升工作效率;
Tower支持git-flow,开箱就使用很方便;
→ settings → git-flow,出现配置弹框
总结:
今天了解了gitflow的代码管理流程,但我们的情况有点不一样,我觉得release环节应该可以不做,我们的测试环境是需要将研发完成的代码推到远程仓库分支,develop就能满足了;还有个问题:我们前后端调试,需要针对不同的功能切换不同的feature分支很麻烦,明天再问问别的或者刷刷帖子有没有更好的解决办法。