Gitflow(git工作流)

我第一次接触这个概念,是出于一个偶然的机会,用的Git客户端SourceTree ,在右上角有个按钮“git工作流”,出于好奇点开看了下,弹出对话框如下图所示,在网上搜了下,gitflow的相关资料,感觉非常棒。

我印象中的git是这样用的

  1. 每开发一个版本,就从master分支上fork出一个分支来。然后,在该分支上开发当前版本的功能。开发完毕后,将该分支合并会master分支。
  2. 然后,进行下一个版本迭代的时候,再从master分支上fork出一个新的分支来,开发完毕后,再合并回master分支。这样周而复始,继续下去。
  3. 这样并没错,但是会带来个问题,每迭代一个版本,就要从master上fork出一个分支,开发完毕后,在合并到master分支上,很是繁琐。每个版本开发过程中,都需要进行这样一个重复性的繁琐工作。

直到我看到了gitflow,才顿感轻松

gitflow的工作方式

  1. 一个master分支:我们从不直接在上面工作,主要用来开发完毕后,合并至master分支;
  2. 一个develop分支:我们在该分支上进行功能开发,所有的开发工作以该分支为主分支,可以在该分支上进行各种操作;
  3. release分支:该分支fork自 develop分支。当develop上的开发工作完毕(或者是到了预定的发布日期时),从develop分支上fork出来,用于进行发布—— 这个分支只应该做Bug修复、文档生成。 一旦对外发布的工作都完成了,发布分支合并到master分支并分配一个版本号打好Tag。 另外,这些在该分支做的修改要合并回develop分支,因为develop要继续下去,而在release上做的修改也需要添加到develop上。
  4. Hotfix(bug分支):项目发布,接到用户反馈的bug后,需要及时修复。这个时候可以从master fork出一个bug分支,fix完bug后,再将该分支合并会master分支。

gitflow的工作方式,相比我印象中的git工作方式,确实强大很多:

  1. 只在一个develop分支上干活,不需要在每个版本迭代时候都fork出一个分支来,避免了大量的重复劳动;
  2. develop分支上的工作完成,到预定发布日期的时候,fork出release分支来(可以切换到生产环境,这样,就可以避免在develop上频繁的改动生产、测试环境的接口)
  3. 从开发到发布从不与master进行直接交互(不在master上干活),保证了master分支的稳定性。

参考资料:

  1. Git工作流指南:Gitflow工作流
  2. Git工作流指南
  3. git学习资料

Gitflow(git工作流)相关推荐

  1. Git工作流中常见的三种分支策略:GitFlow、GitHubFlow和GitLabFlow

    摘要:聊一聊Git中的工作流--分支策略. 本文分享自华为云社区<Git工作流中常见的三种分支策略:GitFlow.GitHubFlow以及GitLabFlow>,原文作者:敏捷的小智. ...

  2. 深入理解学习Git工作流

    2019独角兽企业重金招聘Python工程师标准>>> 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...

  3. 大型开发项目中 git 工作流的最佳实践

    Gitflow Workflow 是一个 Git 工作流,有助于持续软件开发和实施 DevOps 实践. 它由文森特·德里森 (Vincent Driessen) 在 nvie 首次出版并广受欢迎. ...

  4. 一文读懂Git工作流

    Git是目前最流行的代码管理工具,相信大家也都是在用Git来管理自己团队的源代码. 团队一般为了规范开发,保持良好的代码提交记录以及维护 Git 分支结构清晰,方便后续维护等,都会迫切需要一个比较规范 ...

  5. 四种常见 Git 工作流比较

    BY 童仲毅(geeeeeeeeek@github) 这是一篇在原文(BY atlassian)基础上演绎的译文.除非另行注明,页面上所有内容采用知识共享-署名(CC BY 2.5 AU)协议共享. ...

  6. 四种常用的Git工作流过程分析

    多种多样的工作流使得在项目中实施Git时变得难以选择.这份教程提供了一个出发点,调查企业团队最常见的Git工作流. 阅读的时候,请记住工作流应该是一种规范而不是金科玉律.我们希望向你展示所有工作流,让 ...

  7. Git 工作流的一些经验分享

    Git 工作流的一些经验分享 笔者使用git有一段时间了,踩过不少坑,这里分享下我在git工作流方面的一些经验. 什么是Git工作流? Git工作流你可以理解为工作中团队成员遵守的一种代码管理方案,在 ...

  8. 企业级开发:Gitflow Workflow工作流

    http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p ...

  9. 四种常见的Git工作流

    在这篇文章中,我们将会讨论最受Git用户欢迎的几种分支工作流程,您可以选择最适合自己的方式. Git Flow Git工作流是最广为人知的工作流.由Vincent Driessen 在2010年所发明 ...

最新文章

  1. NLP界的「MVP」再次夺冠,刷新GLUE榜单
  2. Hibernate关联关系映射
  3. 网站服务器宕机,B站服务器宕机 股价短线走低冲上热搜 官方回复称因机房故障...
  4. python人工智能入门优达视频_机器学习:优达教你搭建Python 环境的正确姿势
  5. 详解Go语言的计时器
  6. http://item.jd.com/1275996920.html
  7. java.lang.NoClassDefFoundError: Could not initialize class org.apache.batik.bridge.CursorManager
  8. Linux获取SCSI序列号命令,linux下获取scsi上的磁盘设备的序列号
  9. (5)Typora——MarkDown格式文本编辑器
  10. 分析 OVS 如何实现 vlan 隔离 - 每天5分钟玩转 OpenStack(140)
  11. 温度计数值转换C语言,f和c温度换算(体温计f怎样转换c)
  12. android 启动界面全屏显示,Android 启动页 (Splash) 的实现
  13. 爬虫实战 链家房源爬取(BeautifulSoup) 详细分析 2020最新
  14. python节日贺卡绘制
  15. mysql主键可以重复吗_mysql 处理主键重复
  16. python快速实现简易俄罗斯方块小游戏
  17. (38)STM32——NRF24L01无线通信
  18. centos7 下mono安装
  19. S7-1500系统内使用ET200S 1SI模块实现自由口通信
  20. 找中位数O(n)算法

热门文章

  1. 1035 不相交的线
  2. 假定某计算机的CPU主频为80 MHz,CPI为4,并且平均每条指令访存1.5
  3. 最全maven archetype 配置!
  4. SSM框架常用注解总结(持续更新)
  5. uniapp商城前端源码下载/uniapp多店铺PHP商城源码下载
  6. 斐波那契数列的前N项和
  7. 马平福为华侨创作中国书法艺术品受好评
  8. Unity CustomFont (怎么制作图片文字)
  9. 微信小程序api.weixin.qq.com不能设置到白名单导致openid获取不到的解决方法
  10. ArcGIS绘制地球