git工作流及插件使用说明

1,Git Flow概述

Gitflow工作流相对复杂一点,但非常适合用来管理大型项目的发布和维护。

Git工作流的核心操作:新建分支与合并分支
其中的master和develop分支贯穿整个开发周期始终存在,其他分支都是暂存状态。

1.1 master分支

master分支可以被视为稳定的分支,一般不允许直接往master分支提交代码,只允许往这个分支发起merge request,只允许release分支和hotfix分支进行合流。

1.2 develop分支

develop分支是相对稳定的分支,用于日常开发,包括代码优化、功能性开发。

1.3 feature分支

feature分支从develop分支拉取,特性开发会在其上进行,开发完毕合后并到develop分支。

1.4 release分支

release分支从develop分支拉取,用于回归测试,完成后打tag并合入master和develop。

1.5 hotfix分支

hotfix分支用于紧急修复上线版本的问题,修复后打tag并合入master和develop。

2,IDEA插件

2.1 下载GitFlow插件

idea-file-settings-Plugins-marketplace-搜索[Git Flow Integretion]-安装重启idea

2.2 初始化插件设置

图2 插件初始化参数设置(建议)

图2 插件初始化参数设置(建议)

图3 插件初始化分支设置1

图4 初始化分支设置2

2.3 各工作流的执行样例

2.3.1 新功能开发 feature

第一步:点击idea右下角的Gitflow——Start Feature——填写新需求的简单描述——ok

图5 Start Feature

图6 Start Feature2
第二步:新生成的feature分支上编辑代码——提交到本地(或者同时推送到远程)
第三步:新需求开发完成且提交到本地完成——点击Finish Feature

图7 Finish Feature
第二步:提测过程进行缺陷修改——在该release分支上进行修改*①
第三步:提测过程完成——由管理员操作执行点击Finish Releasea

gitflow插件会自动将该release分支的代码合并到master和develop分支(本地和远程),并自动删除release分支,与此同时会自动触发打tag的操作

图8 Start Release信息规范(建议)

注意:在提测未完成之前,严禁执行Finish Releasea!因为该操作会自动执行分支合并和删除的操作影响其他开发人员的工作

2.3.3 常规缺陷修复 bugfix

以develop分支自测发现了bug,现在要对其进行修复为例

第一步:点击idea右下角的Gitflow——Start Bugfix——填写bug信息并选择需要修复的develop分支


图10 bugfix信息填写与分支选择

第二步:在Bugfix分支上进行bug修复 ##### 第三步:在Bugfix分支上bug修复完成后——点击Finish Bugfix推送修改到本地develop分支
第四步:将本地develop分支推送到远程 注意:release分支上的缺陷修复也可以按照该流程执行

2.3.4 修改线上bug的 hotfix 以master分支在运行时,出现了一个之前没有发现的bug,现在要对其进行修复为例

第一步:点击idea右下角的Gitflow——Start hotfix ##### 第二步:在hotfix分支上进行bug修复,提交到本地(可以一同推送到远程)
第三步:修复完成之后——点击Finish hotfix gitflow插件会自动将该hotfix分支的代码合并到master和develop分支(本地和远程),并自动删除hotfix分支,与此同时会自动触发打tag的操作

3,Eclipse插件 eclipse上的插件与IDEA上的插件是同一个插件在两个平台上的版本 执行的操作基本一致 其下载、安装教程见参考链接3

4,命令行操作 见参考链接1中的教程

5,参考文献

1,git flow的使用(核心内容的是git flow原理与命令行操作): https://www.cnblogs.com/lcngu/p/5770288.html
2,IDEA插件 GitFlow 规范开发流程的工具 常见使用: https://blog.csdn.net/qq_33693776/article/details/103256869
3,eclipse中安装git-flow插件: https://blog.csdn.net/liushuiwuyan/article/details/84903434
4,Git的各种工作流(核心内容各种代码管理方式): https://blog.csdn.net/qq_35865125/article/details/80049655

探究未知是最大乐趣
原文地址:https://www.cnblogs.com/Mufasa/p/14315072.html