博客
Git 规范和最佳实践
分支(Branch)

Branch

在开发过程中,合理的分支策略可以提高开发效率和代码质量,保证代码安全,尤其是在团队协作时。

主分支:master(protected)

  • 作用:项目的主分支,始终处于可部署的状态,通常为 master 或  main
  • 特性:包含了所有经过审核和测试的代码。
  • 管理:由 develophotfix 分支合并到该分支,该分支应被保护。

开发分支:develop(protected)

  • 作用:用于开发中的新功能和修复等变动。
  • 特性:是基于主分支的一个长期存在的分支,所有修改在合并到主分支前,都先合并到该分支。
  • 管理:该分支经过审核和测试合格后,合并到主分支,该分支应被保护。

功能分支:feature/xxx(protected)

  • 作用:用于开发特定的新功能。
  • 特性:它是基于开发分支,每个 feature 分支通常只关注一个特定的功能或用户故事。
  • 管理:该分支开发完成后,合并到 develop 分支。该分支在开发过程中应被保护,合并后可以被删除。

个人分支:<username>/xxx

  • 作用:用于个人提交的内容。
  • 特性:个人分支允许开发者在自己的空间内自由地进行修改和实验,而不必担心影响到主分支或其他人的代码。
  • 管理:该分支自测完,合并到 developfeature 分支,合并后应该被删除。

紧急修复分支:hotfix

  • 作用:用于修复紧急 bug,这些 bug 通常是在生产环境中被发现,并且需要立即解决。
  • 特性:该分支通常是基于生产环境的代码版本,之所以需要 hotfix 分支,是因为 master 分支可能已经合并了还没有上线的代码,所以不能用 master 分支直接修复并上线。
  • 管理:该分支审核测试完成后,一般直接基于该分支创建 tag,然后该分支合并回 master 和 develop,合并完即可被删除,大致流程:
    • 创建分支:假如线上运行的版本是 vx.x.x,发现其存在 bug,此时需要基于 vx.x.x 创建分支 hotfix/vx.x.x
    • 进行修复:在个人分支进行 bug 修复,然后合并到 hotfix 分支。
    • 审核测试:对修复后的代码进行充分的测试。
    • 更新发布:基于 hotfix 分支打 tag,命名规范为 vx.x.x-hotfixN,同时在描述中详细说明解决了什么问题,以便于将来的追踪和部署。将该版本发布到线上。
    • 合并分支:需要及时将 hotfix 分支合并到主分支和开发分支,合并后即可被删除。