美文网首页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实现

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