跳转到正文
YGJoon 技术博客

Git分支管理策略

发布于:
·1.1k 字 · 约 3 分钟·作者:
拆解 main、develop、feature、release、hotfix 五种分支的分工与合并规则,走完开发、发布、热修复三套工作流,给出命名和提交规范。
Git分支管理策略文章封面
目录

分支类型

在Git工作流中,通常包含以下几种主要的分支类型:

主分支(main/master)

开发分支(develop)

功能分支(feature)

发布分支(release)

热修复分支(hotfix)

工作流程

1. 功能开发流程

  1. 从develop分支创建feature分支
  2. 在feature分支上进行开发
  3. 完成开发后提交Pull Request
  4. 代码审查通过后合并到develop分支
  5. 删除feature分支

2. 版本发布流程

  1. 从develop分支创建release分支
  2. 在release分支上进行测试和bug修复
  3. 测试通过后合并到main/master分支
  4. 在main/master分支上创建版本标签
  5. 同时合并回develop分支
  6. 删除release分支

3. 热修复流程

  1. 从main/master分支创建hotfix分支
  2. 在hotfix分支上修复问题
  3. 修复完成后合并到main/master分支
  4. 创建新的版本标签
  5. 同时合并到develop分支
  6. 删除hotfix分支

最佳实践(精简版)

常见问题

合并冲突

hotfix 漏合 develop

实战案例:我的分支策略是”按项目规模分级”

我手里几十个仓库,分支策略是三档,ygking-blog 属于最简档:

第一档:个人小项目(ygking-blog、VPSLens 这种博客/文档站)

第二档:有后端的产品(mecard-go)

第三档:多人协作(没咋遇到过,备忘)

核心原则就一条:分支数量和项目复杂度成正比。个人博客搞 git-flow,是拿高射炮打蚊子;生产项目裸奔 master,是裸奔。先问”这个项目有几个人、几台机器”,再选模型。

总结

分支策略没有银弹:个人项目一个 master + 自动部署就是最优解;生产项目才需要 develop/release/hotfix 的完整流程。核心原则是分支数量和项目复杂度成正比,别拿高射炮打蚊子,也别裸奔。


分享这篇文章



相关文章

上一篇
Git版本控制
YGJoon 的头像

YGJoon

记录 Flutter、Web 与原生移动端工程实践。更多背景见关于页,源码与项目见GitHub。