背景

由于Git的分支比SVN更好管理且更易使用,最近团队从SVN迁移到Git,需要重新规划开发流程,最终确定使用Git-flow工作流,这是目前比较流行的一种分支模型,下面是Git-flow的简易流程图。

 
gitflow.png

Git-flow分支介绍

master

是线上版本分支,也可以理解为随时可以发布的稳定版本,要求在每次版本封版后由主程序员合并release分支代码进来,开发人员不可以随意操作。

develop

用来开发的分支,通常可以直接在其上进行开发,在每次发布版本和线上紧急bug修复后,需要同步到其上,理论上此版本只在开发阶段使用,提测时不可以直接修改,而在测试结束后由release分支合并到其上。

release

当开发结束后用来提测的分支,所有测试阶段的bug全部在此分支修复,测试结束后合并到 masterdevelop 分支中

feature

如果在团队开发时,有一个功能的开发周期要长过本次版本开发周期,建议开启一个 feature 进行单独开发,当需要此功能的时候,只需要将 feature 合并入 develop 分支,下次一并提测即可。这样设计可以避免这个功能在尚未开发完成或者通过测试的时候混入发布的版本,而导致不可预知的不稳定。当然也可以同时开启多个 feature 分支进行不同新功能开发,在合适的时候合并提测即可。

hotfix

线上bug修复的热补丁分支,应由 master 拉出,并在修复完成后合并入 masterdevelop 保证两分支的bug已修复。

推荐一款Git GUI工具 SourceTree 在Windows和Mac都可以使用,Mac下应该是更好用一些,第一安装注册时可能要FQ,默认也支持Git-flow工作流,可以在其中开启。

作者:winter1991
链接:https://www.jianshu.com/p/a970c3fead96
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Git-flow 一个简单高效的Git工作流的更多相关文章

  1. Bear 實驗室: 什麼是Git flow ? 如何在SourceTree使用Git flow管理開發!

      http://www.takobear.tw/12/post/2014/02/bear-git-flow-sourcetreegit-flow.html     Bear 實驗室: 什麼是Git ...

  2. git + git flow 的简单介绍

    1.git简单实用 git:是一种分布式版本控制系统,因为其优秀的特性个人十分推崇. 1.1设置本机用户身份 git config -global user.name "userName&q ...

  3. Git:一个简单示例

    初始状态:两个分支master/dev都只有一个文件readme.txt 待解决问题:在master分支新增文件,并且修改readme.txt文件,将上述操作同步至远程master分支,最后同步到de ...

  4. 转--利用函数模板技术,写一个简单高效的 JSON 查询器

    http://www.cnblogs.com/index-html/archive/2012/07/18/js_select.html http://www.ibm.com/developerwork ...

  5. SourceTree 实现 git flow 流程

    为什么使用 git 和 git flow,这篇文章 深入理解学习Git工作流 的内容相信能够给你一个完整的答案. 我们以使用SVN的工作流来使用git有什么不妥? git 方便的branch在哪里,团 ...

  6. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  7. Git 在团队中的最佳实践--如何正确使用Git Flow[转]

    原文地址:http://www.cnblogs.com/cnblogsfans/p/5075073.html Git的优点 Git的优点很多,但是这里只列出我认为非常突出的几点. 由于是分布式,所有本 ...

  8. git flow的使用

    简介 Gitflow工作流程围绕项目发布定义了严格的分支模型.尽管它比Feature Branch Workflow更复杂一些,但它也为管理更大规模的项目提供了坚实的框架. 与Feature Bran ...

  9. 干货!如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

随机推荐

  1. Java线上应用故障排查

    线上故障主要2种: CPU利用率很高, 内存占用率很大 一.CPU利用率很高 1. top查询那个进程CPU使用率高 2. 显示进程列表 ps -mp pid -o THREAD,tid,time 找 ...

  2. 集训第六周 M题

    Description   During the early stages of the Manhattan Project, the dangers of the new radioctive ma ...

  3. Vue如何引入icon图标

             1.下载icon图标,推荐icomoon网站,里面有大量的矢量图标,也可以自定义,当然你也可以去阿里巴巴矢量图标库下载你所需要的小图标.点击进入icomoon网站点击右上角“IcoM ...

  4. BNUOJ 6023 畅通工程续

    畅通工程续 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 1874 ...

  5. 如何使用Mysql Workbench导出一整个sql文件,sql包?

    1. 点击Management ; 2. 点击Data Export 3. 点击需要备份的数据名字并打钩 1是点击查看2是选择 4. 在右下方选择要要备份的类型(框架,数据,框架+数据) 5. 选择你 ...

  6. hdu4696 Answers(循环节+找规律)

    题意: 分析: 容易想到先把T数组按位置和对应权值建一个有向图(类似置换群那种指法) 然后图建完了,如果C[]里面都是2,那显然只能凑出那些偶数,奇数是不能凑出来的 如果C[]有1有2呢? 事实上是可 ...

  7. yum install tree 出错primary.sqlite.bz2: [Errno -1] Metadata file does not match checks 解决办法

    Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfilehttp://ftp.sjtu.edu.cn/centos ...

  8. Redis的集群方案之Sentinel(哨兵模式)(待实践)

    哨兵模式是主从切换的一种方案,但是可以借助此方案实现集群,达到高可用. 先收集教程,待实践. 参考: https://redis.io/topics/sentinel(官方文档) http://ife ...

  9. phpunit 单元测试框架-代码覆盖率

    "phpize not found" 的解决办法: apt-get install php5-dev http://jeffreysambells.com/2010/04/08/r ...

  10. Centos系统备份

    使用root用户切换到根目录 然后,使用下面的命令备份完整的系统: tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exc ...