点击上方蓝色字体了解更多的嵌入式编程实用技能。
如果你觉得该文章对你有帮助,欢迎点赞+关注
在前一篇文章中,我们了解了 Git 作为软件开发黄金标配的原因。今天,我们将深入了解一下 Git 的分支管理,尤其是一种备受推崇的管理方式——Git Flow。
Git Flow 是一种基于 Git 的分支管理模型,旨在帮助开发者更加优雅地处理复杂的项目开发过程。这一模型由 Vincent Driessen 提出,它定义了一组独立的分支,每个分支都有特定的用途,以确保团队协作的高效性。
优势在于:
清晰的分支结构:Git Flow 提供了清晰的分支结构,使开发者能够明确地知道当前项目的状态和下一步的操作。
有序的版本管理:通过定义版本、功能和热修复分支,Git Flow 确保了版本的有序发布和问题的及时修复。
团队协作:每个开发者都能在独立的分支上工作,通过 Pull Request 或 Merge Request 方便地进行代码审查,提高团队协作效率。
主分支(master
):核心分支,不可删除
命名固定master,主分支是项目的稳定版本,只包含随时可以发布的代码。所有的开发都应该在其他分支进行,不直接在主分支上操作。
开发分支(develop
):核心分支,不可删除
命名固定develop,所有日常开发工作都在开发分支上进行。这是一个集成了各种功能和修复的分支,当准备好发布新版本时,将合并到主分支。因此该分支的功能相对于
master
分支是比较全的,但是缺乏一定稳定性。
功能分支(feature
):临时分支,可删除。
用于开发新功能的分支。从开发分支创建,完成后合并回开发分支。
对于该分支,命名规范是:feature/< name >,比如 feature/add_check
发布分支(release
):临时分支,可删除。
当开发阶段完成,从开发分支创建发布分支,进行预发布的准备工作,如版本号升级和文档更新。完成后合并到主分支,并可能合并回开发分支。
对于该分支,命名规范是:release/< name >,通常结合语义化版本命名规范(语义化版本格式为: 主版本号.次版本号.修订号),比如 feature/v1.0.0
热修复分支(hotfix
):临时分支,可删除。
用于紧急修复主分支上的问题。从主分支创建,完成后合并回主分支,并可能合并回开发分支。
对于该分支,命名规范是:hotfix/< name >,通常也是结合语义化版本命名规范,主要是更改修订号,比如在 v1.0.0 版本(主分支上的该版本标签)的基础上创建分支,命名 hotfix/v1.0.1
借用网上一张经典的分支工作流程图:
如果刚使用git的朋友,对git分支创建命令行和分支管理等使用方式还不娴熟的情况下,可以利用软件体验一把,该软件名是”SourceTree“
上述的分支管理是一个比较经典的,但是每个公司的项目管理方式不同和敏捷开发等原因,因此该分支管理模型不一定适用,但是主分支和开发分支是常用的。
主分支命名是master,开发分支命名develop。
不过在2020年,github宣称将master默认分支名改为main,大概主要是因为master and slave术语不够政治正确,跟种族歧视有关系。
团队协作时功能分支也是会经常使用,在开发新功能过程中为了避免影响开发分支,通常在开发分支创建功能分支进行开发,开发完成即可合并到开发分支上。
分支命名虽然比较随意,但是建议还是按照 feature/< name > 规范命名,比较清晰。