zoukankan      html  css  js  c++  java
  • Git分支管理实战

     Git分支管理实战:

    使用了Git之后,Git确实比TFS 好用,首先它很轻巧,分支之间切换基本在秒级,分支创建也很方便,但由于方便快捷,最近我们一直在因为分支管理混乱而陷入无穷的痛苦之中,

    在此痛定思痛,觉得借鉴网上一个好的方案来管理分支。

    一、主分支:

    实际开发中,主要存在两条主分支,MasterDevelop 分支,这两个分支的生命周期是整个项目周期。

    他们有如下特点:

    1.Masterdevelop分支自创建之后都不会删除,会随着项目的增长不断往里面添代码。

    2.Master分支是Git仓库一创建就有的,是必然的,而develop分支是我们自己根据Master创建的日常开发分支。

    日常开发流程如图

    • master分支:

      这个分支最为稳定,这个分支代表项目处于可发布状态,master为主线。

    • develop分支:

      作为平常开发的主流程,日常开发都在这里。

    二、支持分支

    支持分支一般有三种

    • Feature branches(功能分支,根据develop衍生出的分支), 
    • Release branches(用于发布新版本,随编号递增)
    • Hotfix branches(用于PRD 上紧急的Bug修复)

    我们来看看这三类分支的角色作用:

    • Feature branches(功能分支) 

      这类分支,必须从develop分支上创建,开发完需merge回develop。

      这类分支例如大家都在develop分支上正开发着,然后你想去改一个东西又不怕和别人冲突,那你就自己搞一个这种分支,等开发完成之后再merge回develop。

      

    • Release branches(用于发布新版本,随版本号递增)

       这类分支用于发布新版本,当一个develop分支上的迭代开发完成并通过测试之后,需要创建一个带版本号的release分支,如release.V1,用于发布项目。

       这类分支,有如下特点。

    1. 当该分支还在PRE时,PRE发现Bug,可以在上面改,改完之后需merge到develop分支上。
    2. 一旦项目launch掉,这个分支也就不能再改了,要改就得按Hotfix 分支那样去改。
    3. 有大Bug耗时较长,也不建议在上面改。
    4. 一定切记,release之后,有改动需merge到develop分支上去。
    • Hotfix branches(用于PRD 上紧急的Bug修复)

      程序难免launch后出现bug,这时release分支已经merge到master了,也可能已经删掉了,develop分支又正在进行第N个版本的迭代,在哪改都无从下手,

      这时就需要根据master创建一个Hotfix branch,专门用于修改线上紧急的Bug,当修改完成后,需要使用该分支在本地测试通过之后,代码launch后,

      在将此分支merge回master,此时,develop还在进行迭代,所以需要developmaster拉一下代码,保证日常develop分支包含线上紧急的修复。

    Hotfix branches示意图

      

    总结整体流程如图:

      

  • 相关阅读:
    ES head安装笔记, 还没有试
    sed用法笔记
    Kibana笔记
    ElasticSearch笔记
    Mongo聚合笔记
    java 判断是否为数字
    Redis 一:安装篇
    make问题:make[1] entering directory
    Java 多线程 简单实例 (消费者与生成者)的关系
    Java 多线程 简单实例 (Runnable)
  • 原文地址:https://www.cnblogs.com/vpersie2008/p/10698788.html
Copyright © 2011-2022 走看看