Git Flow插件是什么?

在实习的过程中学会了一个工具gitflow,个人使用后感觉很方便,可以很便利地帮助我们管理工作流,比如开发阶段用哪些分支,测试阶段用哪些分支,线上bug又用哪些分支等,这些都有固定的分类,让开发人员测试人员运维人员都可以明确区分。由于使用还不是很久,现在记录一些常用的操作,如果大家有补充的,可以留言评论,我也学习下。

idea安装

idea-setting-plugins-搜索git flow 然后安装第一个 重启idea

idea gitlab merge repuest 插件 idea git flow 插件_gitflow


安装完成后,可以看到idea右下角有这个标志(前提是导入了git项目)

idea gitlab merge repuest 插件 idea git flow 插件_gitflow_02


点击No Gitflow ,会看到init Repo选项,点击该按钮初始化仓库,点击一下下面的设置

idea gitlab merge repuest 插件 idea git flow 插件_idea插件_03


等一会儿,初始化成功后就会看到右下角的标识变成了Git flow了

idea gitlab merge repuest 插件 idea git flow 插件_gitflow_04

使用 以feature分支为例

点击右下角的gitflow,可以看到这些选项

idea gitlab merge repuest 插件 idea git flow 插件_gitflow_05


这时候,如果有新的开发任务,此时应该在develop分支上开发,但是别人可能开发其他功能,然后可能会有冲突,为了开发过程中互不影响,我们需要从develop分支中拉一条feature分支开发一个功能。然后这时就可以选择Start Feature,然后填写分支名

idea gitlab merge repuest 插件 idea git flow 插件_流程规范_06


完成后,可以发现idea已经帮我们切到了新的分支。然后VCS->git->Push 把这个分支推到远程,那么远程就有这个分支了。

idea gitlab merge repuest 插件 idea git flow 插件_gitflow_07


idea gitlab merge repuest 插件 idea git flow 插件_idea插件_08


好了,如果功能已经开发完成了,我们就可以点击右下角的gitflow,这时你会发现多了一个finish Feature 的选项,这个就是结束该分支的意思,点了这个按钮,就可以删除这个分支,同时你在feature/新功能写的代码就会合并到develop分支。当然,如果有冲突肯定也要处理的,所以说在拉feature分支前一定保证develop分支是最新的。

idea gitlab merge repuest 插件 idea git flow 插件_idea插件_09


顺便说下,如果要切换分支可以试下这样

idea gitlab merge repuest 插件 idea git flow 插件_流程规范_10

Release和hotfix分支

然后release分支的使用也是一样,只不过release分支是说在开发阶段已经结束了,进入到测试阶段,这时全部的feature分支都结束后,测试人员start release分支,这时也是从develop分支拉了一条分支出来命名是release/XXX方式。这时如果测试出什么bug,就是在release分支来改了。
当测试通过了,这时测试人员就可以finish release分支。这时release分支的代码就会合并到master分支,同时release分支也被删除。
再到运维人员开始部署,运维人员会部署master分支最新的修改,然后如果生产环境有问题了。这时候就是start hotfix分支,hotfix分支会从master分支拉一条新分支,这时改bug就是在hotfix分支进行,然后测试人员用hotfix分支进行测试,最后没问题就finish hotfix分支,这时代码也是合并到master分支,重新部署就好了。
其他bugfix分支没试过,以后用过了再记录一下。

其他设置

gitflow还有很具体的设置,可以在settings里面设置,我主要是设置push on finish,就是说结束分支后自动提交到master,其他的话大家可以研究下,可以的话告诉我哦!

idea gitlab merge repuest 插件 idea git flow 插件_git_11