Git分支管理:新手应该用什么工作流?

Git分支

新手学Git,学会commit、push之后,下一个问题就是:分支该怎么管理?多人协作的时候,代码怎么合?有哪些常用的工作流?

今天整理一下几种常见Git工作流,说说各自适合什么场景,新手可以对着选。

1. Git Flow

最经典的一套分支规范:

  • main/master:主分支,永远是生产可用的代码
  • develop:开发分支,所有功能都合到这儿,准备发版了合到main
  • feature/*:功能分支,开发新功能从develop分出来,做完合回去
  • release/*:发版分支,准备发版本了从develop分出来,测完合到main和develop
  • hotfix/*:线上紧急bug修复,从main分出来,修完合回main和develop

优点:规范清晰,分工明确

缺点:分支多,流程重,小项目有点麻烦

适合:大型项目、需要定期发版的产品项目

2. GitHub Flow

GitHub 推荐的简化版流程,更轻量:

  • main分支永远是可部署状态
  • 开发新功能直接从main拉feature分支
  • 写完开Pull Request, review完合并到main
  • 合并完就直接部署

优点:简单,流程轻,适合持续部署

缺点:如果频繁发布,没有稳定开发分支,稍微容易乱

适合:小团队、web项目、持续部署

3. Trunk-Based Development

主干开发,更极致的轻量:

  • 所有人都往主干(main/trunk)上提交
  • 真需要长期开发,才开feature分支,但是很快就合回来
  • 靠单元测试和CI保证主干质量

优点:最简洁,协作最顺畅,不用来回合并半天

缺点:对测试和CI要求高,新手容易把主干搞挂

适合:DevOps团队、持续交付、自动化测试完善的项目

4. 我的日常选择:Trunk + 短生命周期feature分支

我自己现在做项目,一般这么玩:

  • main是主干,永远保持可运行
  • 小改动直接往main提交
  • 大点的功能,开feature分支,本地推上去,写完自己做个Pull Request,自测完直接合,不用等别人review(个人项目)
  • 团队项目就是开PR,至少一个人review再合

个人项目完全够用,不复杂,也不折腾。

新手怎么选?

  • 个人项目/小项目 → 直接GitHub Flow或者Trunk-Based,简单够用
  • 团队项目,需要稳定发版 → Git Flow,虽然重,但大家都按规则来不容易乱
  • 敏捷团队,持续交付 → Trunk-Based,效率最高

不用纠结”哪个最正宗”,适合你项目规模和团队习惯就是最好的。先从简单的开始,不够用了再升级规范。

最后一点建议

规范是死的,人是活的。不用为了规范而规范,能让你协作顺畅、代码不乱就是好流程。刚开始不用强行上最复杂的GitFlow,先从简单的玩起来,慢慢调整就好。

你所在团队用什么工作流?欢迎留言交流。


适合新手的入门总结,老司机就不用看了😂

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部