Git 分支管理常见三种方式

Git 分支管理常见三种方式
TBD(Trunk-based development、单主干)
GitHub flow
git-flow
1. TBD
所有团队成员都在单个主干分支上进行开发。
发布时,先考虑使用标签 Tag, 如果打标签不能满足要求,则从主干创建发布分支。
Bug在主干上修复,然后挑选时机发布到 发布分支上
优点: 分支少,开发人员不需要频繁在不同的分支之间切换。
缺点: 因为主干分支是所有开发人员公用的,一个开发人员引入的 bug 可能对其他很多人造成影响。
2. GitHub flow
GitHub使用的一种简单流程,使用两类分支,Master、代码修改分支,主要对应GitHub的pull、request功能。

master分支
包含稳定的代码,该分支已经或即将被部署到生产环境,分支的作用是提供一个稳定可靠的代码基础。任何开发人员都不允许把未测试或未审查的代码直接提交到 master 分支。

代码修改分支
当需要进行任何修改时(包括 bug 修复、hotfix、新功能开发等),总是从 master 分支创建新分支。

分支合并流程
当新分支中的代码全部完成之后,通过 GitHub 提交一个新的 pull request。团队中的其他人员会对代码进行审查,提出相关的修改意见。由持续集成服务器对新分支进行自动化测试。当代码通过自动化测试和代码审查之后,该分支的代码被合并到 master 分支。再从 master 分支部署到生产环境

3. Git-flow
目前流传最广的 Git 分支管理实践,围绕的核心概念是版本发布(release)。git-flow 流程中包含 5 类分支,分别是 master、develop、feature、release 和 hotfix。

Master 分支中包含的是可以部署到生产环境中的代码,这一点和 GitHub flow 是相同的

develop 分支中包含的是下个版本需要发布的内容。当 develop 分支集成了足够的新功能和 bug 修复代码之后,通过一个发布流程来完成新版本的发布。发布完成之后,develop 分支的代码会被合并到 master 分支中。

feature、release和 hotfix为均为临时分支,只在需要时才从 develop 或 master 分支创建,在完成之后合并到 develop 或 master 分支。合并完成之后该分支被删除。

分支类型    命名规范    创建自    合并到    说明
feature    feature/*    develop    develop    新功能
release    release/*    develop    develop和master    一次新版本的发布
hotfix    hotfix/*    master    develop和master    生产环境中发现的紧急 bug 的修复
因为 git-flow 相关的流程比较繁琐和难以记忆,在实践中一般使用辅助脚本来完成分支创建、切换和合并等工作。

总结
如果发布周期较长,则 git-flow 是最好的选择。git-flow 可以很好地解决新功能开发、版本发布、生产系统维护等问题;
如果发布周期较短,则 TBD 和 GitHub flow 都是不错的选择

 

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值