git flow工作流及sourcetree实现

一、gitflow工作流


gitflow工作流

一个完整的gitflow工作流如上图所示,下面根据上图,按不同分支进行说明:

1.1 master 分支和 develop分支

在Git Flow 中,这两个分支至关重要,它们会贯彻整个流程始终,绝对不会被删除。

master 分支

master 分支时常保持着软件可以正常运行的状态。由于要维护这一状态,所以不允许开发者直接对master 分支的代码进行修改和提交

其他分支的开发工作进展到可以发布的程度后,将会与master分支进行合并,并且这一合并只在发布成品时即完成release分支时进行。发布时将会附加版本编号的Git标签

develop分支

develop分支是开发过程中代码中心分支。与master 分支一样,这个分支也不允许开发者直接进行修改和提交。

程序员要以develop分支为起点新建feature 分支,在feature 分支中进行新功能的开发或者代码的修正。也就是说develop分支维系着开发过程中的最新代码,以便程序员创建feature分支进行自己的工作。

1.2 feature分支

功能特征分支,基于develop分支克隆,主要用于多人协助开发场景或探索性功能验证场景,功能开发完毕后合并到develop分支。feature分支可创建多个,属于临时分支,目的实现后可删除分支。

1.3 release分支

测试分支,基于delevop分支克隆,产品编码工作完成后,发布到本分支测试,测试过程中发现的小bug直接在本分支进行修复,修复完成后合并到develop分支。本分支属于临时分支,目的实现后可删除分支。

1.4 bugfix分支

Bug修复分支,基于master分支或发布的里程碑Tag克隆,主要用于修复对外发布的分支,收到客户的Bug反馈后,在此分支进行修复,修复完毕后分别合并到develop分支和master分支。本分支属于临时分支,目的实现后可删除分支。

二、sourcetree中应用


基本的操作流程

1. 先用sourceTree 创建本地git 项目,xxxProject,

2. 在项目里面先提交一次 commit 一下,默认提交在了 master分支;

3. 然后在 sourceTree工具 右上角,点击 GitFlow,开启git Flow 规范模型的开发

如上图,在开启gitFlow 之后;

  生产环境分支使用:master

  开发分支使用:develop

当需要新增加功能,发布版本时,创建补丁修复bug时,分别有对应的 feature,release,hotfix前缀这样的分支

这样在项目的开发过程之中,管理项目分支就变得非常的规范了;

4:开启之后,我们的项目就回到了develop 分支,以后所的开发都在这个分支上进行;当开发完成一些模块时,就可以回去 master分支 合并

5. 使用 gitFlow 添加新功能 ,点击 sourceTree 的右上角 Git Flow按钮,会出现 菜单,选择创建新功能

输出新功能名称,默认会在 新功能 分支上开发新功能;

新功能 开发完成之后,再次点击 git flow 按钮,会出现 完成新功能,按钮

点击,完成新功能,会把当前新功能合分支 合并到 develop分支,并删除新功能分支。

  1. 使用Git Flow 发布新版本,同样点击 git Flow 按钮,菜单选择 创建新发布版本 ,

在发布版本分支上,完成项目发布配置之后,提交,再点击 git flow 按钮,会弹出 完成发布版本 按钮,点击,

确认之后,会发现 发布版本的分支,会合并到 develop分支 和 master 分支,表示生产上发布了一个版本

  1. 使用git flow 新建补丁,修复bug

比如上面发布的一个版本在生产用的时候,出现了一个 bug,这时,点击 git flow 菜单,选择 建立新的修复补丁

这时,bug修复分支,是基于 master的,在修复bug后,再次点击 git flow 弹出,完成 补丁修复

确定之后,会发现,新修复的bug分支,会合并到 master分支和develop分支

8.最后我们再来看看,经过上面的 创建项目--开启gitflow---添加新功能---发布新版本---修复bug 等流程之后,当前的 git提交状态吧

git 强大的分支管理功能,再加上 git flow 模型,,项目的代码管理开发,如此的清晰明了啊

三、注意点


  1. 多人协作的时候,应由仓库(项目)管理员来创建master分支并在本地初始化好GitFlow后一并将master和develop分支推送到远程仓库(master分支默认有写保护,只有创建者才能写入推送,其他协作者只能pull拉取)。其他协作者将项目克隆下来,同样要记得初始化GitFlow,注意配置要保持一致。其他协作者在本地完成feature开发,然后推送到develop分支,由项目管理员来负责发布release分支和发布新版本

参考文献:


A successful Git branching model
深入理解学习Git工作流(git-workflow-tutorial)
GitFlow with SourceTree

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 4,360评论 2 8
  • 这是知乎上的一个问题。刚看到这个问题时,我心下一阵不屑,现在这个快餐时代,谁还静下心来读书啊?读书的都是装清高的,...
    桨一阅读 574评论 0 1
  • 还记得我刚刚接触瑜伽时候,是我姐在读大学时送我的一本书。当时我在读高中,特别喜欢运动,也是学校里体育队的运动健将,...
    瑜伽之路阅读 3,119评论 5 1
  • 这几天看了姜武的电影《洗澡》,就想写写洗澡。 我努力搜索自己关于洗澡的体会,挺遗憾,盐池本就是个缺水的地方,对于我...
    牵心过洋阅读 291评论 0 1
  • 上一篇文章,我们谈到了快速记忆、反复阅读等方面的观点,这一篇文章小编就本书补充一些要点,主要是关于读者对阅读过程的...
    梦由先生阅读 359评论 0 0