Git代码规范:打造高效协作的工作流

Git代码规范:打造高效协作的工作流 文章目录一、Git Flow分支管理模型又称Git Flow工作流1.1 核心分支1.2 辅助/临时 分支1.3 详细描述1.4 总体概述图示二、软件环境管理规范三、环境与分支映射四、Git提交规范详解4.1 提交类型速查表4.2 提交格式要求五、最佳实践指南5.1 单次提交注意事项5.2 工作流示例5.3 版本发布流程六、规范的价值一、Git Flow分支管理模型又称Git Flow工作流1.1 核心分支我们采用Git Flow工作流主要包含以下两个贯穿整个项目生命周期的核心分支master / main生产环境主干分支简称主分支始终保持稳定可发布状态作用存放稳定、可随时部署到生产环境的代码特点不允许直接在此分支上开发仅允许通过release或hotfix分支合并分支上的每一个提交都对应一个正式的发布版本通常会被打上版本标签如v1.0.0,v1.0.1develop集成开发分支简称开发分支包含最新完成的功能和修复作用存放最新开发成果的集成分支是功能开发的集线器。特点当develop分支上的代码达到稳定状态并准备发布时会合并到主分支所有feature分支和release分支都从develop分支拉取始终保持代码可测试状态1.2 辅助/临时 分支分支类型分支名称命名规范创建来源合并目标使用场景feature功能分支feature/模块名_功能描述developdevelop新功能开发release预发布分支release/版本号developmaster和develop版本发布准备hotfix热修复分支hotfix/问题描述mastermaster和develop紧急修复生产问题上述分支是为了完成特定任务而创建的任务完成后会被合并并删除1.3 详细描述master主分支也是用于部署生产环境的分支需要确保master分支稳定性。master分支一般由release以及hotfix分支合并任何时间都不能直接修改代码。develop开发分支始终保持最新完成以及bug修复后的代码用于前后端联调。一般开发的新功能时feature分支都是基于develop分支创建的。feature开发新功能时以develop为基础创建feature分支。分支命名时以feature/开头后面可以加上开发的功能模块命名示例feature/user_module、feature/cart_module作用开发新功能生命周期从develop分支拉取。开发完成后合并回develop分支。合并后该功能分支通常被删除。release预发布分支预上线分支UAT测试阶段使用。一般由develop分支合并不建议在此分支上直接修改代码。作用为发布新版本做准备。在此分支上只做Bug修复、生成版本号、整理文档等发布准备工作不再添加新功能。生命周期当develop分支的功能足够进行一次发布时从develop拉出release分支。在此分支上进行最后的测试和修复。准备就绪后将release分支合并到主分支并打上版本标签。同时还必须合并回develop分支因为release分支上的修复可能在develop分支上不存在。hotfix线上出现紧急问题时需要及时修复以master分支为基线创建hotfix分支。修复完成后需要合并到master分支和develop分支。作用快速修复生产环境(master分支)上的紧急Bug生命周期从master分支上出现 Bug 的提交点通常是最近的标签拉取。修复完成后合并回master分支并打上新的版本标签如v1.0.1。同时还必须合并回develop分支确保修复在后续开发中也生效。1.4 总体概述图示二、软件环境管理规范环境名称使用场景特点备注DEV开发环境开发人员日常编码、调试和集成测试的环境不稳定频繁更新包含最新的开发代码通常使用测试数据或开发数据FAT功能验收测试环境也称SIT系统集成测试环境进行功能测试、集成测试和回归测试相对稳定定期部署模拟生产环境配置使用者是测试团队UAT用户验收测试环境最终用户或业务方进行验收测试与生产环境高度一致数据接近真实使用者是产品经理、业务方、最终用户PRO生产环境对外提供服务的实际运行环境最稳定经过充分测试有严格的发布流程有完善的监控和报警机制三、环境与分支映射环境对应分支访问权限用途DEVdevelop开发日常开发联调DEVfeature开发实现新特性FATrelease开发测试功能测试UATrelease产品客户用户验收测试UAThotfix开发测试修复线上bugPROmaster开发运维生产环境四、Git提交规范详解4.1 提交类型速查表类型使用场景示例init项目初始化/脚手架搭建[init] 创建Vue3TS项目骨架feat新增功能或特性[feat] 购物车添加批量删除功能fix修复BUG线上/测试环境[fix] 解决支付页面金额计算错误问题perf性能优化不影响功能逻辑[perf] 优化图片加载首屏时间减少30%refactor代码重构不改变外部行为[refactor] 提取用户验证逻辑到独立模块revert回滚某次提交[revert] 回退登录页第三方登录功能style代码格式化空格、缩进等不改变逻辑[style] 统一使用2空格缩进docs文档更新[docs] 更新API接口文档test测试用例添加/修改[test] 添加用户注册模块单元测试chore构建过程或辅助工具的变动[chore] 更新webpack配置upgrade依赖库升级[upgrade] 升级Ant Design到v5.04.2 提交格式要求标题格式[类型] 简短描述不超过50字符类型使用小写英文描述使用现在时态不加句号结尾正文内容可选空一行后补充详细说明解释修改原因和影响范围可包含相关issue链接优秀示例[feat] 实现用户个人中心基础布局 新增以下组件 - 个人信息卡片 - 订单概览模块 - 地址管理入口 关联需求#PROJ-123五、最佳实践指南5.1 单次提交注意事项提交问题必须为同一类别提交问题不要超过3个发现不规范提交可使用gitcommit--amend-m[提交类型] 新的提交信息或者重新提交一次gitreset--hardHEAD5.2 工作流示例新功能开发gitcheckout developgitpullgitcheckout-bfeature/user_profile# 开发完成后...gitcommit-m[feat] 新增用户个人主页gitpush origin feature/user_profile紧急修复gitcheckout mastergitpullgitcheckout-bhotfix/payment_bug# 修复后...gitcommit-m[fix] 解决支付接口超时问题gitcheckout mastergitmerge hotfix/payment_buggitpush5.3 版本发布流程从develop创建release分支在release分支进行最终测试合并到master并打 tag同步回develop分支六、规范的价值提升可读性通过提交信息快速理解变更意图自动化支持便于生成CHANGELOG和版本说明高效协作降低团队沟通成本精准回溯方便定位问题和回滚变更提示建议团队使用Git钩子(pre-commit)或CI流程自动校验提交信息格式确保规范执行一致性。通过遵循这套规范团队可以建立清晰可追溯的代码变更历史大幅提升协作效率和代码质量。刚开始可能需要适应但形成习惯后将显著改善开发体验。