-
背景:
- SVN过渡到Git,分享项目中分支管理的经验。
-
分支类型:
- master分支:作为主分支,只能通过release分支合并,且只能由特定管理员操作。开发人员不能直接推送代码到远程仓库的master分支。
- release分支:命名规则为release/*,是生产投产分支,基于master分支创建,开发人员不能直接推送代码,通常由指定人员控制。
- dev分支:作为开发分支,所有开发人员都可以基于此分支进行开发。代码应保证本地启动无问题,不影响其他开发人员。
- hotfix分支:用于紧急修复,从当前release分支拉取,完成后需合并到release和dev分支。
- feat分支:用于长期功能开发或调整,基于release或稳定dev创建,完成后合并到dev分支。
-
分支使用场景:
- 从master创建release分支用于投产。
- 从master拉取dev分支供开发人员使用,例如命名为dev/soe。
- 当开发任务需要独立进行且不影响其他任务时,基于稳定的dev分支创建feat分支,如feat/sonar。
- 完成开发和测试后,将dev分支代码合并到release分支。
- 如果release投产后发现问题,基于release创建hotfix分支进行修复,修复后合并到release和sit分支,然后再次使用release分支投产。
-
总结:
- 分支的使用应根据团队和项目需求灵活调整,不必过于死板。