Git分支Git Flow开发规范

规范化管理代码库分支有助于版本库在演进过程中始终保持简洁,主干结构清晰。各个分支各司其职,有利于后续的维护更新,避免版本发布带来的混乱问题。

参阅资料

《A successful Git branching model》

《Git官方文档–Branching Workflows》

以下为Git分支开发规范的简单总结

分支结构

主要分支

master
  • 主分支,用于部署生产环境的分支,需确保master分支稳定性
  • master分支存储了正式发布的历史
  • 属于只读唯一分支,只能从其它分支(如develop,hotfix)合并,不能直接在此修改
  • 所有向master分支的Push推送都应当打TAG标签做记录,方便追溯
develop
  • 开发分支,基于master分支检出的平行分支
  • develop分支始终保持最新完成以及bug修复后的代码
  • 属于只读唯一分支,只能从master以外的分支(如feature,hotfix)合并,不能直接在此修改

下为master和develop平行分支示意图:

支持分支

feature(官方亦称topic)
  • 功能分支,基于develop分支检出,用于新功能的开发
  • feature分支可同时存在多个,用于团队中多个功能同时开发
  • 命名规则: feature/*,如feature/shopping_cart,feature/user_login
  • 属于临时分支,最终会被合并回develop(作为新版本功能)或丢弃(放弃功能),最后可选删除
  • feature通常仅存在于开发人员存储库中(本地库),而不存在于远程origin

下为feature分支应用示意图:

release
  • 发布分支,基于develop分支检出,用于准备发布新阶段版本
  • 用于Bug测试及修复,文档生成和其它面向发布任务
  • 属于临时分支,最终会先被合并到master(发布新版本),打TAG标签,再被合并到develop,最后可选删除
  • 命名规则:推荐为release-*release/*,如release-1.0

下为release分支应用示意图:

hotfix
  • 补丁分支,基于master分支检出,用于对线上发布的版本进行BUG修复
  • 属于临时分支,最终会先被合并到master(发布新版本,亦称修复版本),打TAG标签,再被合并到develop,可选删除
  • 命名规则:推荐为hotfix-*hotfix/*,如hotfix-1.0.1

下为hotfix分支应用示意图:

最后

推荐使用对Git Flow很好应用的图形工具SourceTree,可以帮助我们很好的理解和管理git分支。

下图为SourceTree工作流默认配置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值