zoukankan      html  css  js  c++  java
  • 细说GitHub分支策略和工作流

    @


    GitHub是近年来兴起的版本控制和协作开发网站,每一位开发者都应该熟悉GitHub的常规使用。本文以图例和实际开发流程来讲解什么是分支策略以及分支的作用,以及经典的GitFlow工作流


    一、什么是分支策略

    在团队开发中,一个项目的发布版本通常使用master分支,这也是一个项目最基本的和不可或缺的分支,当一个项目很小,代码量不多的情况下,团队成员可以只对master分支进行修改操作,并提交修改后的代码。
    master
    但我们假设项目上线后,我们需要增加新的模块,这时候去修改master分支的代码显然不合适,因为master分支的代码应该是安全的和经过测试的,所以这时我们需要有develop分支。develop分支是开发时使用的分支,我们检出develop分支用以修改代码,修改完了之后,将develop分支和master分支合并,即可将修改的代码同步至master分支,这时的master分支才是稳定的。一个GitHub项目中至少有master分支develop分支,这是最简单的分支策略。
    在这里插入图片描述

    二、分支功能介绍

    • master分支,即主分支。任何项目都必须有个这个分支。对项目进行tag或发布版本等操作,都必须在该分支上进行。

    • develop分支,即开发分支,从master分支上检出。团队成员一般不会直接更改该分支,而是分别从该分支检出自己的feature分支,开发完成后将feature分支上的改动merge回develop分支。同时release分支由此分支检出。

    • release分支,即发布分支,从develop分支上检出。该分支用作发版前的测试,可进行简单的bug修复。如果bug修复比较复杂,可merge回develop分支后由其他分支进行bug修复。此分支测试完成后,需要同时merge到master和develop分支上。

    • feature分支,即功能分支,从develop分支上检出。团队成员中每个人都维护一个自己的feature分支,并进行开发工作,开发完成后将此分支merge回develop分支。此分支一般用来开发新功能或进行项目维护等。

    • fix分支,即补丁分支,由develop分支检出,用作bug修复,bug修复完成需merge回develop分支,并将其删除。所以该分支属于临时性分支。

    • hotfix分支,即热补丁分支。和fix分支的区别在于,该分支由master分支检出,进行线上版本的bug修复,修复完成后merge回master分支,并merge到develop分支上,merge完成后也可以将其删除,也属于临时性分支。

    • 经典的GitFlow工作流

    三、经典的工作流

    git clone https://github.com/pbrong/GitHubTest.git
    

    此时,在文件中出现已经克隆出来的仓库
    在这里插入图片描述

    • 3、从master分支上检出develop分支,此时develop分支和master分支是完全一样的,我们查看文件发现没有变化,其实此时的文件就是develop分支中的文件
    git checkout -b develop
    
    • 4、修改develop分支的文件,例如我要增加一个查询商品模块AddItem.java
      在这里插入图片描述
      模拟数次的addcommit
    • 5、切换到master分支
    git checkout master
    

    经过数次修改,确认代码无误后切换回master分支,此时的文件结构中并不含有AddItem.java,说明这数次修改都是在develop分支进行的,master分支还是我们一开始的代码.

    在这里插入图片描述

    • 6、分支合并
    git merge --no-ff develop
    

    在这里插入图片描述

    即可看到,master分支出现了AddItem.java文件,说明分支合并成功,此时master分支的代码是经develop分支测试过的,安全可靠的
    在这里插入图片描述

    • 7、提交master分支至版本库中

    四、同步分支数据

    克隆和某一仓库后,会出现只有master分支而没有develop分支的情况,这时只需要在master分支的基础上检出develop分支,然后请求同步即可

    git checkout -b develop
    git pull origin develop
    

    参考文章
    1、https://www.cnblogs.com/wawahaha/p/5171187.html
    2、http://www.cnblogs.com/videring/articles/6962005.html
    3、https://www.cnblogs.com/yhaing/p/8473746.html
    4、https://jingyan.baidu.com/article/948f5924f43f47d80ff5f9f9.html

    在每一个改完Bug的深夜仍对明天充满着希望
  • 相关阅读:
    Vue常用特性-表单基本操作和表单修饰符
    Tab选项卡
    Vue模板语法
    Vue基本使用
    Vue概述
    Express框架
    模板引擎artTemplate
    MongoDB增删改查操作
    数据库概述及环境搭建
    请求响应原理及HTTP协议
  • 原文地址:https://www.cnblogs.com/pbrong/p/Arong.html
Copyright © 2011-2022 走看看