当前位置: 首页 > news >正文

杂记——14.git在idea上的使用及其实际开发介绍

这篇文章我们来讲一下git在idea上的使用,以及在实际开发过程中各个分支的使用及其具体的流程

目录

1.git在idea上的使用

1.1 idea上的git提交

1.2 idea上的分支切换

2.git在实际运用时的分支及其流程

2.1分支介绍

2.2具体流程

3.小结


1.git在idea上的使用

1.1 idea上的git提交

git大家都会使用,比如从远程拉取一个项目,git clone+ssh地址 一下,然后想把项目提交到远程仓库了,就走那一套git流程

但是,麻烦吗?有点麻烦。有没有简单点的方法?有

idea是一款强大的工具,它集成了一些小插件的功能,其中就包括git

如下图所示:这就是idea上集成的git功能区

下面介绍一下这三个按钮的作用:

1. 这个是拉项目用的,相当于git pull命令,就是最新化当前的项目(注意:拉取时一定要选择Rebase,不要选择Merge)

2.这个是提交到暂存区用的,相当于git commit -m"xxx"命令

注意:如果你的这个改动希望别人也看到,那你就commit这个文件,如果你这个改动不希望别看到,那就不要commit这个文件

3.这个按钮就是将暂存区的文件提交到远程仓库用的,相当于git push

 1.2 idea上的分支切换

首先,我们来看一下git上的分支切换的地方:

 接下来说一个比较难懂的东西。

情况如下:

假设,我现在有两个分支,一个master分支,一个dev分支,这两个分支里面都有一个yml文件,这个yml文件的内容是一样的,假设其中有一个数据为10087

现在我做如下操作:

现在,我在master分支下,将yml文件中的数据10087修改为10086,但是我不commit这个文件,然后我切换到dev分支下,此时你会发现,dev分支下的这个yml文件中的数据也变为10086了,不是原来的10087了

但是,如果我在master分支下修改后,commit了,然后再切换到dev分支下,这时dev分支下的yml文件中的数据依然为10087,不会变为10086

很神奇的一个现象

2.git在实际运用时的分支及其流程

下面聊一聊git在实际开发运行时的分支情况和开发流程

2.1分支介绍

  • dev:开发环境;从feature去merge
  • test:测试环境;从feature去merge
  • pre/releace: 预生产环境;从master去merge,为了验证master代码
  • master:生产环境;从feature去merge
  • feature_xxx: 开发分支;增加小功能;创建的时候,从master拉取
  • hotfix_xxx: bug修复分支;从master拉取

2.2具体流程

下面来看一下实际开发中的具体流程(如下图所示):

 解释:

首先,我们一款产品,开发好了是放在master分支下的,也就是生产环境。然后,我们根据市场变化,需要增加或删除某些功能,即需要对这款产品进行修改时,我们从master中拉取项目,并且创建一个新的分支,命名为feature_xxx,然后我们在这个分支下进行修改。当我们需要多人开发时,我们就将这个分支合并到dev分支上,然后大家分模块进行开发,这样你修改后的代码就到开发环境了。当开发完成后,要进行测试,我们就需要从feature_xxx分支merge到test分支,在test分支下测试。OK,测试没问题了,测试通过了,这时我们需要从feature_xxx分支merge到master分支,然后再从master分支merge到pre分支,在预生产环境下进行测试,OK,测试没问题了,那么就把master分支里的内容发布,这样一款新产品就发布了。

如果在pre分支下测试出现问题了,那么就要在feature_xxx分支下继续进行修改,然后test,然后从master到pre,然后在发布。

如果产品发布了,突然出现了一个bug,这时就直接从master分支下拉取创建一个hotfix_xxx分支,然后在hotfix_xxx分支下进行修改,修改完成后再到pre,pre里没问题了,在从per到master,然后再发布。

问:为什么不直接从dev到test?

答:dev是合作开发的环境,里面集成了所有的,如果只要一个人有问题,那么test就不会通过,这样其他人也不能进行下一步了,会延误开发时期,所以就是从feature_xxx分支merge到test,然后再进行下一步。

注意:所有的特性分支都不允许push,能push的分支只有feature分支,这样做的目的是方便代码review,并且要知道merge也是需要审批的,即需要组长审批,审批通过了才能merge

3.小结

这篇文章的实操性和理论性都比较强,是属于那种不起眼,但是有时候需要用的东西,一般这种东西是最麻烦的。第一部分讲了idea中的git操作,有一说一,idea是yyds;第二部分讲了实际开发过程中的分支情况,这个目前自己写的话用不着,进公司了会用到的。

至于git的相关指令和其他内容,可以看我的其他文章

http://www.lryc.cn/news/25409.html

相关文章:

  • 记一次Nodejs减低npm版本的踩坑日记
  • 【iOS】—— 初识RAC响应式编程
  • Java——面向对象
  • 电影《毒舌律师》观后感
  • 【活学活用掌握trap命令】
  • 计算机组成原理4小时速成6:输入输出系统,io设备与cpu的链接方式,控制方式,io设备,io接口,并行串行总线
  • MyBatis源码分析(三)SqlSession的执行主流程
  • 环境搭建01-Ubuntu16.04如何查看显卡信息及安装NVDIA显卡驱动
  • 内网渗透测试理论学习之第四篇内网渗透域的横向移动
  • 20 | k8s v1.20集群搭建master和node
  • 《商用密码应用与安全性评估》第一章密码基础知识1.1应用概念
  • 【博学谷学习记录】超强总结,用心分享丨人工智能 深度学习 神经网络基础知识点总结
  • Python+tkinter添加滚动条
  • 大V龚文祥造谣董明珠恋情被禁言
  • 深入浅出Reactjs
  • 《C++ Primer Plus》第18章:探讨 C++ 新标准(1)
  • PCB板漏孔、漏槽怎么办?看工程师避坑“SOP”
  • mysql数据库同步方案:springboot+集成cannal
  • oracle 19c 创建物化视图并测试logminer进行日志挖掘
  • 2.1 黑群晖驱动:10代u核显硬解驱动(解决掉IP、重启无法连接问题)
  • 二、CSS
  • 变分推断 (Variational Inference) 解析
  • 27. 移除元素
  • hive临时目录清理
  • 如何创建发布新品上市新闻稿
  • 关于.bashrc和setup.bash的理解
  • 03 Android基础--fragment
  • Redis使用,AOF、RDB
  • SOLIDWORKS Premium 2023 SP1.0 三维设计绘图软件
  • PyQGIS开发--自动化地图布局案例