Git Flow 工作流一共包含五种分支:

两个长期分支:
  • 主分支 master:用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的分布版

  • 开发分支 develop:用于日常开发,存放最新的开发版

创建Develop分支的命令: git checkout -b develop master

将Develop分支发布到Master分支的命令:

     # 切换到Master分支

     git checkout master

     # 对Develop分支进行合并

     git merge --no-ff develop

三个临时性分支:

1 .功能(feature)分支:新功能分支,一般一个新功能对应一个分支,功能分支的名字,可以采用 feature-* 的形式命名。

创建一个功能分支:

git checkout -b feature-x develop

开发完成后,将功能分支合并到 develop 分支:

git checkout develop

                   git merge --no-ff feature-x

      删除 feature 分支:

git branch -d feature-x

2 . 预发布(release)分支:发布分支是从 Develop 分支上面分出来的,用于发布测试版本,测试完后最终需要合并进 Develop 和 Master 分支。它的命名,可以采用release-*的形式。

创建一个预发布分支:

git checkout -b release-1.2 develop

    确认没有问题后,合并到 master 分支:

git checkout master

git merge --no-ff release-1.2

        git tag -a 1.2     ( 对合并生成的新节点,做一个标签 )

      再合并到 develop 分支:

git checkout develop

            git merge --no-ff release-1.2

最后,删除预发布分支:

git branch -d release-1.2

3. 修补bug(fixbug)分支:用于修复线上版本出现的 Bug 时创建的,基于 Master 分支创建。修补结束以后,再合并进 Master 和 Develop 分支。它的命名,可以采用 fixbug-* 的形式。

创建一个修补 bug 分支:

            git checkout -b fixbug-0.1 master

      修补结束后,合并到 master 分支:

               git checkout master

            git merge --no-ff fixbug-0.1

            git tag -a   

     再合并到 develop 分支:

git checkout develop

       git merge --no-ff fixbug-0.1

    最后,删除"修补 bug 分支":

git branch -d fixbug-0.1

这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有 Maste r和 Develop。

Git-Flow 工具使用

安装方法:brew install git-flow

基本使用:

    • 初始化:git flow init

    • 开始新Feature:git flow feature start MYFEATURE

    • Publish一个Feature(也就是push到远程):git flow feature publish MYFEATURE

    • 获取Publish的Feature:git flow feature pull origin MYFEATURE

    • 完成一个Feature:git flow feature finish MYFEATURE

    • 开始一个Release:git flow release start RELEASE [BASE]

    • Publish一个Release:git flow release publish RELEASE

    • 发布Release:git flow release finish RELEASE
      别忘了git push --tags

    • 开始一个Hotfix:git flow hotfix start VERSION [BASENAME]

    • 发布一个Hotfix:git flow hotfix finish VERSION

【GIT】Git Flow最佳实践的更多相关文章

  1. [转载]理解 Git 分支管理最佳实践

    原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...

  2. Git工作流程最佳实践总结

    Git作为一个目前非常流行的版本管理工具,深受开发者的喜爱.那么怎样才能将Git的作用发挥的更好呢?我根据实际的项目经验,归纳总结了以下Git工作流的最佳实践.这里所谓的最佳,是经过多次项目经验后,根 ...

  3. 应用Git Flow—Git团队协作最佳实践

    规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高. 实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代码丢 ...

  4. Git Flow——Git团队协作最佳实践

    规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高. 实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代码丢 ...

  5. Git Flow,Git团队协作最佳实践

    规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高, 实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代码丢 ...

  6. 高效团队的gitlab flow最佳实践

    当前git是大部分开发团队的首选版本管理工具,一个好的流程规范可以让大家有效地合作,像流水线一样有条不紊地进行团队协作. 业界包含三种flow: Git flow Github flow Gitlab ...

  7. git学习------>Git 分支管理最佳实践

    ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...

  8. 【转】Git代码提交最佳实践

      GIT Commit Good Practice The following document is based on experience doing code development, bug ...

  9. CI Weekly #18 | flow.ci iOS 最佳实践出炉,正式支持 Git@OSC 构建

    如大家所期待,flow.ci 现已支持开源中国的代码仓库 - 码云,可以直接构建 Git@OSC 的项目了,点击创建项目-选择代码仓库-选择码云-绑定 OSChina 账户-选择要构建项目,教程看这里 ...

随机推荐

  1. C语言 · 求圆面积表面积体积

    算法提高 3-3求圆面积表面积体积   时间限制:1.0s   内存限制:256.0MB      问题描述 接受用户输⼊的数值,输出以该值为半径的(1)圆面积,(2)球体表面积,(3)球体体积.pi ...

  2. ubuntu 14.04 安装中文输入法

    记录Ubuntu 14.04 里面安装中文输入法的过程 先安装如下包 sudo apt-get install ibus sudo apt-get install ibus ibus-clutter ...

  3. sqlserver日期函数<转>

    一.sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基 ...

  4. Android——监听事件OnLongClickListener

    .xml <Button android:layout_width="wrap_content" android:layout_height="wrap_conte ...

  5. BusyBox inittab

    # /etc/inittab init(8) configuration for BusyBox## Copyright (C) 1999-2004 by Erik Andersen <ande ...

  6. 图片上传裁剪(asp.net)

    图片在线裁剪功能 前台展现用jquery.Jcrop实现,后台使用 System.Drawing.Image类来进行裁剪 完整dome下载 http://download.csdn.net/detai ...

  7. 〖wordpress实用小技巧〗添加几个字符实现子目录访问转移到域名直接访问

    http://www.henghengzhu.com/share/127.html —————————————————————————————————————————————————————————— ...

  8. Spark 基础及RDD基本操作

    什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据 ...

  9. vim markdown

    vim 安装vundle插件管理器 https://github.com/VundleVim/Vundle.vim Vundle for windows https://github.com/Vund ...

  10. ImageNet Classification with Deep Convolutional Neural Networks 论文解读

    这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章.因为在之前,人们 ...