Git Flow印象

Git Flow印象

原文地址:http://www.jiangyouxin.net/2013/02/11/git_flow.html

在github的项目主页上是这么介绍的:(git flow is) Git extensions to provide high-level repository operations for Vincent Driessen’s branching model. 这个Vincent Driessen’s branching model的原文在http://nvie.com/posts/a-successful-git-branching-model/

简单翻译一下。git flow是用来实现某种分支模型上的操作的

两个主(main)分支:
master:指向当前已发布版本
develop:指向当前开发状态

三类支持(support)分支:
feature分支:从develop创建,用于某个功能点的开发。完成时自动合并到develop。
release分支:从develop创建,用于某个版本发布前的提测和修改BUG。完成时自动打TAG,合并到master和develop。
hotfix分支:从master创建,用于已发布版本的快速BUG FIX,完成时自动打TAG,合并到master和develop(若当前存在release分支,则合并到该分支而不是develop)

“创建”和“完成”操作都由对应的git flow命令来实现。命令很容易记忆:
git flow <feature|release|hotfix> <start|finish> <name>

下面这张图是从原文COPY出来的:

Git Flow印象

使用git flow,每一个feature独立在支线开发,完成后再合并到主线;发布版本在支线完成,与功能开发可以并行;打TAG的同时Merge修改回主线。以上这些都深得我心,而且它是靠工具(而不是规章制度)来实现的,对程序员比较友好。

git flow把所有的发布版本串联在master分支上,很好地维护了它们之间的偏序关系(master分支上的每一次提交都对应一个发布版本),这样可以很方便将master作为“卖主分支”来管理OEM;与topgit等结合也会很方便。

git flow的hotfix分支只能基于master,也就是最新的发布版本。如果要基于更老一些的发布版本去擦屁股,就得手工操作了:从旧的TAG上创建branch,完事后打新TAG,然后合并回develop(或者当前release),注意这时候就不能合并到master了。

转载于:https://my.oschina.net/jiangyouxin/blog/108507

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110217.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月21日 下午9:00
下一篇 2021年8月21日 下午10:00


相关推荐

  • 国密算法概述_国密算法一定要通过硬件吗

    国密算法概述_国密算法一定要通过硬件吗国密即国家密码局认定的国产密码算法,即商用密码。国密算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。具体包括SM1,SM2,SM3等,其中:SM2为国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括:SM1,对称加密算法,加密强度为128位,采用硬件实现;SM3,密码杂凑算法,杂凑值长度为32字节,和SM2算…

    2022年10月7日
    3
  • 作为Java开发,你一定要了解面向对象编程中为什么要使用get和set方法

    一、由一个问题开始在进行面向对象开发中,在编写一个Class的时候,会定义这个Class的属性(字段)为Private,然后去生成对应的get和set方法,通过这样的方式去对属性进行操作,那你有没有思考过为什么要这样做呢?这样做有哪些好处呢?请先自行思考30秒,在看下面的内容。二、回顾相关知识回答这个问题之前,让我们先回顾一些的基础知识:1、访问修饰符,从访问的范围由小及大依次是:pri…

    2022年2月27日
    47
  • vue使用echarts引用示例

    vue使用echarts引用示例ECharts 支持多种下载方式 从 GitHub 获取 从 npm 获取 从 CDN 获取从 npm 获取 npminstallec 从 CDN 获取推荐从 jsDelivr 引用 echarts 从 GitHub 获取 apache echarts 项目的 release 页面可以找到各个版本的链接 点击下载页面下方 Assets 中的 Sourcecode 解压后 dist 目录下的 echarts js 即为包含完整 ECharts 功能的文件

    2026年3月16日
    2
  • [数学学习笔记]导数的定义

    [数学学习笔记]导数的定义导数的定义 为处的一个增量 这样 称函数 y f x 在处可导 极限值 A 为 y f x 在处的导数 并记作或或导数表示 因变量 y 在自变量处的变化率 例 1 利用导数的定义求函数在 x 3 处的导数 解 例 2 利用导数的定义求函数在 x 0 处的导数 解 导函数的定义 nbsp nbsp 如果函数 f x 在开区间 a b 内可导 那么对于开区间 a b 内的任意一点 x

    2026年3月18日
    2
  • struts2使用AbstractInterceptor拦截器 获取参数以及修改参数的值

    struts2使用AbstractInterceptor拦截器 获取参数以及修改参数的值publicclassAppLoginInterceptorextendsAbstractInterceptor{ @Override publicStringintercept(ActionInvocationinvocation)throwsException{ Mapmap=invocation.getInvocationContext().getSes…

    2022年5月15日
    42
  • 什么是单元测试,集成测试,系统测试_软件测试中的单元测试

    什么是单元测试,集成测试,系统测试_软件测试中的单元测试分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netDefinitionDecoupleanabstractionfromitsimplementationsothatthetwocanvaryindependently.ParticipantsThec…

    2022年10月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号