git服务器端开发工作流

一、 概述

本文记述了服务器端开发过程中代版本控制的分支管理策略,以及使用该分支策略结合Git、GitLab、Jenkins等工具完成自动代码静态分析、代码审查、自动构建等的工作流。

二、 分支管理策略

如图1所示,流程中主要包括master分支、develop分支、feature分支和hotfix分支等四种分支。每种分支的详细说明如下:

 图1 分支构成 

1、master分支

版本库中有且只有一个master分支,它是版本库初始化以后自动建立的。master分支永远保持线上的稳定版本,禁止在master上开发。当develop分支测试通过达到一个可以发布上线的状态后,需要把develop分支合并到master分支,然后触发钩子脚本自动进行构建、打包。

2、develop分支

版本库中有且只有一个develop分支,它是基于master分支的初始版本建立的。开发功能时,需要基于该分支创建功能(feature)分支,在功能分支开发、调试完成后,如果安排上线则需要将该功能分支合并到develop分支,进行测试。测试人员只基于develop分支进行测试,测试过程的bug的修改需要基于develop分支创建功能分支,bug修改完成、自测后合并到develop分支。开发人员只能在develop进行bug的修改,禁止功能的开发1。当develop分支达到可以发布上线的状态后,需要将develop分支合并到master分支上。具体的操作命令如下:

(1) 创建develop分支命令

git checkout –b develop master

(2) 将develop分支合并到master分支命令 

# 切换到master分支 
git checkout master 
# 对develop分支进行合并 
git merge --no-off develop

关于合并操作中的--no-off参数,默认情况下Git执行"快进式合并"(fast-forward merge),会直接将master分支指向develop分支(如图2所示)。使用--no-ff参数后,会执行正常合并,在master分支上生成一个新节点(如图3所示)。为了保证版本演进的清晰,希望采用这种做法。

图2 默认合并 

图3--no-off合并

3、feature分支

feature分支即功能分支,作为临时性分支存在。它是为了开发某个特定功能或者修改测试中发现的bug时,基于develop创建的,开发、调试完成后,再合并回develop分支,进行测试。合并后,需要删除该功能分支。功能分支的名字,可以采用feature-xxx的形式命名。具体的操作命令如下:

(1) 创建一个功能分支feature-x

git checkout –b feature-x develop

 (2) 开发完成后,将功能分支合并回develop分支

# 切换回develop分支 
git checkout develop 

# 合并feature-x分支 
git merge --no-off feature-x

(3) 删除该功能分支


git branch –d feature-x

4、hotfix分支

hotfix分支即修补bug分支,同样作为临时性分支存在。软件发布上线后,难免会出现bug。这时就需要创建一个hotfix分支,进行bug的修补。hotfix分支是基于master分支创建的,修补、测试完成后,再合并回master和develop分支。hotfix分支的名字可以采用hotfix-xxx的形式命名。关于该分支的具体的操作命令如下:

(1) 创建一个hotfix分支


git checkout –b hotfix-x master

(2) 修补结束后,合并回master分支


# 切换回master分支 
git checkout master 

# 合并hotfix-x分支 
git merge --no-off hotfix-x

 (3) 再合并回develop分支

# 切换回develop分支 
git checkout develop 

# 合并hotfix-x分支 
git merge --no-off hotfix-x

(4) 删除该hotfix分支


git branch -d hotfix-x

三、 工作流

功能开发、功能测试、生产环境问题修复三个场景的工作流分别如图4、图5、图6所示。

 图4 功能开发工作流

5 功能测试工作流

  图6 生产环境问题修复

本文摘自:https://note.youdao.com/share/?id=f502cee0625b9dae2a05778fc5c0c75d&type=note#/ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值