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

news2024/12/24 11:39:50

这篇文章我们来讲一下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.coloradmin.cn/o/380654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GraalVM-云原生时代的JVM(Java)

文章目录一、GraalVM是什么?二、GraalVM有哪些特点?2.1、高性能2.2、多语言支持2.3、互操作性2.4、安全性三、GraalVM的应用效果3.1、提高性能3.2、简化开发3.3、降低成本3.4、节省资源3.5、支持云环境四、使用GraalVM编译springboot应用程序4.1、下载并…

网络应用之表单提交

表单提交学习目标能够知道表单的提交方式能够知道表单中action属性的作用1. 表单属性设置<form>标签 表示表单标签&#xff0c;定义整体的表单区域action属性 设置表单数据提交地址method属性 设置表单提交的方式&#xff0c;一般有“GET”方式和“POST”方式, 不区分大小…

嵌入式之ubuntu终端操作与shell常用命令详解

目录 文件和目录列表 基本列表功能 显示列表长度 过滤输出列表 浏览文件系统 Linux 文件系统 遍历目录 处理文件 创建文件 复制文件 制表键自动补全 重命名文件 删除文件 处理目录 创建目录 删除目录 ​编辑其他常用命令与操作 Uname命令 clear命令 返回上一级命令 显…

Netty学习(一):Netty概述

一、原生NIO存在的问题 NIO 的类库和API繁杂&#xff0c;使用麻烦:需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。需要具备其他的额外技能:要熟悉Java 多线程编程&#xff0c;因为NIO编程涉及到Reactor 模式&#xff0c;你必须对多线程和网络编程…

buu刷题(第一周)

目录 [DDCTF 2019]homebrew event loop action:trigger_event%23;action:buy;5%23action:get_flag; [CISCN2019 华东南赛区]Web4 [RootersCTF2019]babyWeb [GWCTF 2019]mypassword [NESTCTF 2019]Love Math 2 [BSidesCF 2019]Pick Tac Toe [RootersCTF2019]ImgXweb [SW…

2023 年网络安全漏洞的主要原因

​  网络安全漏洞已经并将继续成为企业面临的主要问题。因此&#xff0c;对于企业领导者来说&#xff0c;了解这些违规行为的原因至关重要&#xff0c;这样他们才能更好地保护他们的数据。 在这篇博文中&#xff0c;我们将概述 2023 年比较普遍的网络安全漏洞的主要原因。 云…

OpenCV4.x图像处理实例-道路车辆检测(基于背景消减法)

通过背景消减进行道路车辆检测 文章目录 通过背景消减进行道路车辆检测1、车辆检测思路介绍2、BackgroundSubtractorMOG23、车辆检测实现在本文中,将介绍如何使用简单但有效的背景-前景减法方法执行车辆检测等任务。本文将使用 OpenCV 中使用背景-前景减法和轮廓检测,以及如何…

这篇教你搞定Android内存优化分析总结

一、内存优化概念1.1 为什么要做内存优化&#xff1f;内存优化一直是一个很重要但却缺乏关注的点&#xff0c;内存作为程序运行最重要的资源之一&#xff0c;需要运行过程中做到合理的资源分配与回收&#xff0c;不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏&…

QT之OpenGL帧缓冲

QT之OpenGL帧缓冲1. 概述1.1 帧缓冲的创建与删除1.2 帧缓冲的数据来源1.2.1 数据源与帧缓冲的关系1.2.2 纹理Attachment1.2.3 渲染缓冲对象Attachment1.2.4 两者的区别1.2.5 关于两者的使用场景2. Demo3. 后期处理4. 参考1. 概述 OpenGL管线的最终渲染目的地被称作帧缓冲(fram…

【代码随想录训练营】【Day28】第七章|回溯算法|93.复原IP地址|78.子集|90.子集II

复原IP地址 题目详细&#xff1a;LeetCode.93 这道题与上一道练习题分割回文字符串十分详细&#xff0c;一样是涉及到分割字符串、判断字符串、递归与回溯的问题&#xff0c;所以这道题要解决的难点在于&#xff1a; 如何分割IP地址字符串如何判断分割的IP地址是否合法递归的…

Kafka基本概念

什么是Kafka Kafka是一个消息系统。它可以集中收集生产者的消息&#xff0c;并由消费者按需获取。在Kafka中&#xff0c;也将消息称为日志(log)。 一个系统&#xff0c;若仅有一类或者少量的消息&#xff0c;可直接进行发送和接收。 随着业务量日益复杂&#xff0c;消息的种类…

2.单例模式

基本概念 单例模式&#xff1a;保证一个类只有一个实例&#xff0c;并提供一个访问该实例的全局访问点 常见应用场景 读取配置文件的类一般设计为单例模式网站计数器应用程序的日志应用&#xff0c;因为共享日志文件一直处于打开状态&#xff0c;只能有一个实例去操作Spring…

新C++(11):unordered_map\set的封装

"假如可以让音乐停下来"一、unordered_map\unordered_set简介在C98中&#xff0c;STL底层提供了以红黑树封装的关联式容器map\set&#xff0c;其查询效率可以达到LogN(以2为底)。而在C11中&#xff0c;STL又提供了unordered(无序)容器&#xff0c;其使用方式与map\se…

企业对不同形态CRM系统价格需求不同

很多企业在选型时关心CRM客户管理系统的价格&#xff0c;有人对CRM的价格完全没有概念&#xff0c;也有的人先问价格再看其他。CRM价格在系统选型中到底有多重要&#xff1f;不同类型CRM系统的价格是否有所不同&#xff1f; CRM的不同产品形态也会影响价格 通常情况下&#x…

十五、MyBatis使用PageHelper

1.limit分页 limit分页原理 mysql的limit后面两个数字&#xff1a; 第一个数字&#xff1a;startIndex&#xff08;起始下标。下标从0开始。&#xff09; 第二个数字&#xff1a;pageSize&#xff08;每页显示的记录条数&#xff09; 假设已知页码pageNum&#xff0c;还有每页…

移动端笔记

目录 一、移动端基础 二、视口 三、二倍图/多倍图 四、移动端开发 &#xff08;一&#xff09;开发选择 &#xff08;二&#xff09;常见布局 &#xff08;三&#xff09;移动端技术解决方案 五、移动WEB开发之flex布局 六、移动WEB开发之rem适配布局 #END&#xff08…

嘀嗒出行再闯IPO:千军万马我无懈

羽扇纶巾笑谈间&#xff0c;千军万马我无懈。 在激烈竞争中再度冲刺港交所IPO的嘀嗒出行&#xff0c;闪露出一丝歌词里的气魄。交通运输部下属网约车监管信息交互系统的数据显示&#xff0c;截至2023年1月31日&#xff0c;全国共有300家网约车平台公司取得网约车平台经营许可。…

如何使用COM-Hunter检测持久化COM劫持漏洞

关于COM-Hunter COM- Hunter是一款针对持久化COM劫持漏洞的安全检测工具&#xff0c;该工具基于C#语言开发&#xff0c;可以帮助广大研究人员通过持久化COM劫持技术来检测目标应用程序的安全性。 关于COM劫持 微软在Windows 3.11中引入了(Component Object Model, COM)&…

2月第4周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜轻数发布2023年2月20日-2月26日飞瓜数据UP主排行榜&#xff08;B站平台&#xff09;&#xff0c;通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况&#xff0c;为用户提供B站号综合价值的数据参考&#xff0c;根据UP主成长情况用户能够快速找到运营能力强的B…

基频估计算法简介

基频估计算法 F0 estimate methods 估计F0的方法可以分为三类:基于时域、基于频域、或混合方法。本文详细介绍了这些方法。 所有的算法都包含如下三个主要步骤&#xff1a; 1.预处理&#xff1a;滤波&#xff0c;加窗分帧等 2.搜寻&#xff1a;可能的基频值F0&#xff08;候选…