git flow 软件开发中的一个分支管理流程。利用它可以让软件开发有条不紊的进行,先对它进行一个大概的了解吧,后面工作了实际用到了在深入研究一下。
先看下它的工作流程:

这张图看着一脸茫然,先放在这儿,后面就看懂了。
开发中主要的两个分支是master和develop分支。它们的职责:

  1. master分支:是主分支,永远处在即将发布的状态。
  2. develop分支:它是开发分支,表示最新的开发状态。
    一般情况下master分支和develop分支是保持一致的,但是当develop分支正在开发新的功能的时候,开发完毕并且测试也没问题了,这时会merge合并到master分支准备发布。

git glow 除了提供了master和develop两个主要的分支外,还提供了以下三个辅助分支:

  1. feature分支:它是基于develop分支的,用于开发新功能的分支,如果新功能开发完毕,则合并到develop分支。
  2. release分支:它也是基于develop分支的,它是表示准备要发布的版本的分支,用于修复bug,完成后合并到develop分支和master分支。
  3. hotfix分支:表示用于修复紧急bug的分支,它是基于master分支的,修复完成后合并到master 和develop分支。

例如:现在已经有了master和develop分支,现在要准备做一个新功能A,那么第一步就要基于develop分支创建一个新的分支出来。
git branch feature/A
这就是一个规范表示所有开发的功能的分支都是以feature为前缀。

如果这时发现了紧急bug,那么就需要立刻切换到master分支去修复bug,并且在master基础上建立一个分支:git branch hotfix/B
当bug修复完成后直接合并到master和develop分支。

这些完成后,在切换到feature/A继续新功能的开发,如果开发完成了合并到develop分支。
如果功能都开发完毕,并且测试通过了,可以准备发布了,那么就需要建立一个release发布分支。
git branch release/1.0 表示发布版本为1.0。
最后在发布分支上做最后的测试,如果一切ok,则直接把release分支合并到master和develop分支。
最后进行发布。


有一个git flow工具可以帮我们做很多事情,我们不用这么合并过来合并过去,但是刚开始最好这样吧,先熟悉它的流程。
例如需要开发一个新功能直接从切换到develop分支到创建feature分支一步到位:
git flow feature start A
这个分支完成后,需要合并到develop分支
git flow feature finish A 即可。

如果是hotfix或者release分支,他会自动帮你合并到develop和master两个分支。

git flow 大体先到这儿。

git flow 基础了解的更多相关文章

  1. git以及git flow 的使用

    转载:http://selfcontroller.iteye.com/blog/996494 在这里主要讲一下我在项目中用到的关于gitflow的用法.   公司的项目中,专门有一台用来存放版本库的服 ...

  2. 从一个前端项目实践 Git flow 的流程与参考

    Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示例和参考,对 hotfix 与持续部 ...

  3. Git flow 的流程

    Git flow 的流程与参考   Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示 ...

  4. git flow 的使用

     在这里主要讲一下我在项目中用到的关于gitflow的使用方法.   公司的项目中,专门有一台用来存放版本号库的server,路径是在默认的安装文件夹/opt/git/,那么在使用的时候,假设你是 ...

  5. Git Flow Note

    近期困惑于Git代码版本控制,集中两天时间研究,其中基础知识来源于<Git权威指南>,分支思想则来源于一篇博文<A successful Git branching model> ...

  6. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  7. Git 常用命令和 Git Flow 梳理

    git 用 git 有一段时间了,之前没有详细地了解 git flow,导致协作过程中或多或少出现了一些头疼问题.最近静下心来理了下 git flow 的整个流程,再回头看开朗了不少,总结到这里.介绍 ...

  8. Git flow 工作流与规范

    概述 简版图: PS. 可能用到的命令: 1.从指定 commit拉出新分支   git checkout commitId -b 本地新branchName git checkout 9fbc3d0 ...

  9. 【技术博客】Git Flow模型管理代码版本

    参考GIT版本管理:Git Flow模型,在此基础上加入了自己的理解,增加人员分工和相应代码,并根据本次项目的实际情况进行相应修改. 在本学期的软件工程开发过程中,我们从alpha阶段就使用了git ...

随机推荐

  1. Spring Boot教程(十五)使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

    在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也 ...

  2. 在Java web模板的上进行编写

    要求: 链接:https://pan.baidu.com/s/15NdAt-aiv-X9sRbMSfXYXQ 提取码:7agw web模板: 链接:https://pan.baidu.com/s/1A ...

  3. JS深度判断两个数组对象字段相同

    /** * 判断此对象是否是Object类型 * @param {Object} obj */ function isObject(obj){ return Object.prototype.toSt ...

  4. nbu还原集群数据库异常问题

    集群数据库软件均已安装完毕,现在想从NBU上还原数据库,但在还原控制文件报错 [oracle@oracle-db1 ~]$ rman target / Recovery Manager: Releas ...

  5. sqli-labs(31)

    0x01找闭合 这里是WAF的jsp调到php的同样 第二个参数构造 偷看源码 闭合是") 我们尝试一下构造爆破数据库名 login.php?id=&id=-") unio ...

  6. PADS LAYOUT的一般流程

    1.概述    本文档的目的在于说明使用PADS的印制板设计软件PowerPCB进行印制板设计的流程和一些注意事项,为一个工作组的设计人员提供设计规 范,方便设计人员之间进行交流和相互检查. 2.设计 ...

  7. Java之Swing体系——制作自己的登录界面

    我们制作登陆界面是简单的图形模式,并不具备其他功能: 这里使用两个库,如下: javax.swing.*; java.awt.*; 构造窗体对象要用到很多类,废话不多,直接代码~ package co ...

  8. springboot(3) 页面到服务器

    第一讲实现了spring boot 环境的下载及配置. 第二讲实现了,从服务器,到页面. 第三讲打算从页面到服务器. 比如,我们希望 从页面,点击一个按钮,传递信息到服务器. 就拿传递用户名和密码来简 ...

  9. C++笔记(7)——一些模拟题:简单模拟、查找元素、图形输出、日期处理、进制转换、字符串处理

    以下内容基本来自<算法笔记>,作者为胡凡,建议直接买书看,我这里只是摘抄部分当笔记,不完整的. 简单模拟 就是一类"题目怎么说你就怎么做"的题目.这类题目不涉及算法,只 ...

  10. 【Qt开发】【Linux开发】Qt程序在嵌入式设备(arm) 上运行,鼠标擦除界面的解决方案

    笔者最近想在arm开发板上,开发一个应用程序,经过网上查询发现qt作为跨平台开发软件很不错,于是便选择了qt开发,笔者的qt版本是4.8.6的.由于arm的主频太低,在arm上进行开发编译,效率会大大 ...