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. 【WPF】ListBox使用UserContrl作为子控件,引入UserContrl界面

    <ListBox x:Name="housePlansLB" Margin="0" ItemsSource="{Binding HousePla ...

  2. am335x USB 驱动框架记录

    参考: http://processors.wiki.ti.com/index.php/AM335x_USB_Driver%27s_Guide http://processors.wiki.ti.co ...

  3. Spring使用facotry-method创建单例Bean总结<转>

       阅读目录 1 最原始的实现单例模式的方法(存在线程不安全): 2 通过关键字Synchronized强制线程同步 3 通过静态内部类进行单例 通过spring的factory-method来创建 ...

  4. 如何打一手好Log

    如果项目上过线的话,那你一定知道Log是多么重要. 为什么说Log重要呢?因为上线项目不允许你调试,你只能通过Log来分析问题.这时打一手好Log的重要性绝不亚于写一手好代码.项目出问题时,你要能拿出 ...

  5. 双行表头DatagridView的简单实现

    DatagridView默认不支持多行表头的实现,一些第三方的控件,比如Spread就可以,因此要实现这个功能,只能自己想办法了.介绍两种思路:1,用重写DataGridView的Paint等方法,可 ...

  6. jquery树形表格实现方法

    效果图 准备步骤: 具体使用的Dome可以在这个位置下载 http://download.csdn.net/detail/jine515073/7986227 1.引入jquery.treeTable ...

  7. mysql 存储过程 invoker invoker

    方法一:修改存储过程的definer update mysql.proc set definer='root@localhost' where db='db_name'; 方法二:修改sql secu ...

  8. json_decode() expects parameter 1 to be string, object given

    $data = Weann\Socialite\Facades\Socialite::driver('wechat')->user();//是字符串 $data=json_encode($dat ...

  9. 另外一款超棒的响应式布局jQuery插件 – Freetile.js

    在线演示 我们曾经介绍过俩款知名的响应式布局插:isotope和masonary,今天我们这里再介绍一款相当不错的响应式布局插件 – Freetile.js,使用它同样可以生成超酷的动态布局效果.相信 ...

  10. 21个最佳jQuery插件推荐

    在Javascript应用领域上,使用jQuery可以制作出非常优秀的动画效果,滑块.滑球,以及各种不同的应用.精选出21个最佳的精典案例,如果你是一个前端设计师,一定不要错过. Supersized ...