美文网首页Git
git flow工作流及sourcetree实现

git flow工作流及sourcetree实现

作者: leonardni | 来源:发表于2018-04-08 17:24 被阅读1388次

一、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

相关文章

  • git flow工作流及sourcetree实现

    一、gitflow工作流 1.1 master 分支和 develop分支 在Git Flow 中,这两个分支至关...

  • Git工作流

    一、Git常见工作流 Git三种常见的工作流:Git Flow、GitHub Flow 、GitLab Flow ...

  • 基于jgitflow插件使用git flow

    本文使用jgitflow插件简化实现git flow工作流程,具体流程参考Git工作流程最佳实践--git flo...

  • git-flow使用指南

    git-flow使用指南 1.简介 git-flow是基于Git Flow工作流模型的工具,了解Git Flow ...

  • GitFlow讲解

    Git Flow 工作流程 1.Git Flow是什么它解决了哪些问题: 2.Git Flow安装: 3.Git ...

  • 关于git flow工作流程的一点思考

    关于git flow工作流程的一点思考 Git Flow工作流程 Git分支管理策略 具体流程暂不细表,参考文章中...

  • Git 工作流程

    文中内容仅供参考。 Git 工作流程简单介绍了三种广泛使用的工作流程: Git flow Github flow ...

  • Git的代码分支策略实践

    目前主流的git工作流模式有git flow、github flow、gitlab flow这几种,采用不同的代码...

  • git分支规范

    分支管理参考git-flow(git-flow介绍)的工作流程,但不使用git-flow。所有的分支的操作都需要手...

  • Git版本管理软件初识 2019-01-26

    git 是什么? “git是版本控制系统。” git 的工作流程? “有三种工作流程: Git flow Gith...

网友评论

    本文标题:git flow工作流及sourcetree实现

    本文链接:https://www.haomeiwen.com/subject/sehmhftx.html