开发工具: git 09、feature分支开发到一半时切换到bugfix分支

传智教育 | Java教程:feature分支开发到一半时切换到bugfix分支,如何暂存数据? ​ 在工作过程中,当你正在当前feature分支上进行功能的开发,突然来了一个bug,要创建一个bugfix修复分支进行修复。但是当前feature分支你只开发了一半,显然你去提当前的半成品是不合适的,我们如何处理此类问题,来大家看下一图解: 我们用到的关键命令: 2、动手实践 上图中我们可以看到整个的处理过程,下面我们来看下具体的操作右击项目目录----Git----Reppository----Stash Changes弹框填上message并勾上keep index方便后面找回,点击create s 阅读详情

场景

线上在使用的用户突然发现系统或者 app 运行不正常了,比如说突然网站的商品显示不出来。用户通常会打电话给客服投诉,客服找到运营后,运营直接在缺陷跟踪系统上提工单(比如在 jira 上提一个 task),里面会写上详细的一些 bug 信息,包括什么时间,谁反馈,截图,如何复现等。随后这个 bug 会被指派给一个负责的 RD 和一个对应的 QA。

RD 会去看一下那个工单,尝试在本地先复现出来,然后去修复那个 bug,再部署到预发布环境,让 QA 快速的回归一下,验证一下那个 bug 是否修复了。好了以后,就直接上线。

但是修复线上 bug,需要从 master 分支拉一个 bugfix 分支出来的,而此时可能 RD 手头正在开发 feature 分支,代码才写到一半,没弄完呢。如果 RD 此时要切换分支,在 git 中是会让你先 commit 当前 feature 分支的代码,然后再切换到 bugfix 分支的。如果把写到一半儿的代码就贸然提交一个 commit 的话,你的 commit将包含了一半的代码,弄一个不伦不类的 commit 记录出来,可能违反公司规范!

这种情况如何处理呢?

stash 保护现场

使用 git 的 stash 功能,可以将 feature 分支开发的代码全部暂存起来,然后将工作区的代码恢复到干净的状态,好像什么都没修改过一样。

比如,张三正在 feature/002 分支开发时,突然间要求去修复一个 bug。
18
此时可以先将当前工作区的代码保存起来
19
stash之后,工作区的代码状态是:
20
会发现刚才的代码没了,查看 stash 列表会发现刚才的对面被暂存到 stash 了。而此时 git 的 status 也是working tree。
21
接着,张三就可以基于远程的 bug 分支拉取并创建一个 bug 分支到本地修复 bug

git fetch origin
git checkout -b bugfix/002 origin/bugfix/002

bug 修复完后,push 到远程 bug 的分支,然后发起 PR,依次申请合并到 master 分支和 develop 分支。合并后删除远程和本地 bug 分支,再切换到本地的 feature 分支进行后续的开发。

stash 恢复现场

方式一

git stash list
git stash apply

执行第一条命令,先查看 stash 列表,再执行第二条命令,将最近一次 stash 给恢复回来
22
恢复到现场后继续开发,完成该分支的功能,集成到 develop 分支,然后基于 develop 分支拉一个 release 分支,测试完成后将 release 分支合到 master 分支,打新 tag 再上线。

方式二

git stash apply 序号

直接指定序号,恢复到指定时刻的工作区状态。
23

方式三(暂存区)

如果执行 git stash 的时候,有放入了暂存区的内容,在恢复的时候需要使用如下命令恢复现场

git stash apply --index

该命令会同时将工作区和暂存区中的内容进行恢复

删除 stash

git stash drop 序号

比如删除处于暂存区的 stash@{1}

24

注意事项

默认情况下,它只会将工作区中的修改的文件进行 stash,也就是指 stash 一些 modified 状态的文件。如果要将 untracked 和暂存区中的文件都进行 stash。要使用如下命令:

git stash --index --include-untracked

该命令将暂存区中 tracked 和 untracked 的内容全部进行 stash 暂存

Git00-1-命名:Git分支命名规范(feature/**、develop/**、bugfix/**、release/**、refactor/**、test/**)到底有什么区别 featurebugfixhotfixrelease这些并不是 Git 内置的特殊分支类型,而是团队约定的分支命名前缀。这条分支是干什么的紧急程度如何是否和发布有关是否是线上问题修复main:正式代码develop:开发主线feature/*:新功能bugfix/*:普通 Bug 修复hotfix/*:线上紧急修复release/*:发版准备分支名要让别人一眼看懂你在做什么。 阅读详情

相关推荐

研发流程中的git分支管理及角色介绍

研发流程中涉及到的角色 PM(Product Manager) 产品经理,又称品牌经理。写PRD文档的。 RD(Research and Development engineer) 研发工程师,俗称 Java 猿、PHP猿、GO猿、Python猿。 QA(Quality Assurance) 测试的同学,QA的主要职责就是质量保证工作,属于质量保证部门。 大公司都是几个高级QA带着一帮外包QA...

个人博客:https://www.wenbin.org.cn/ 2560

使用git开发一半,不想提交本分支,如何提交代码,更改其他分支问题

使用git开发一半,不想提交本分支,如何提交代码,更改其他分支问题 本文是转载,文末有链接。 一、git pull 拉代码的时候,或者切换分支的时候,防止冲突和不便,,会用到git stash,将工作区内容暂存起来。 比如:为了fix 一个bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。 怎么办: 1、git stash ...

m0_37592843的博客 1953

利用Openlayers4实现地图遮罩效果(二)

之前实现的遮罩效果,在深色背景的底图上,对要突出的区域采用半透明遮罩,以此来突出该区域。但是有时底图颜色偏白,这时候不再适合对要突出的区域采用遮罩,而是要对突出区域之外进行遮罩处理。两种效果的对比入下图: ...

此爱如少年 6395

需求开发到一半需要改别的分支的bug该怎么办呢?(git stash 和 git commit)

在实际开发中,经常我们会遇到需求开发到一半,别的分支有bug急需解决的情况,这个时候我们改怎么办呢?有的人会说可以先提交当前分支的代码再切换到别的分支改bug,当然这样是没问题的,但是呢,在项目文件特别多的时候,我们改需求好不容易找到的文件位置,这个时候代码一提交,我们就无法看见下面的内容,导致于我们改完bug切换回来就很难分辨我们改了哪些文件了!所以这个时候 我们会用上 git stash 或者 git commit我们先看看git commit 怎么暂存代码的。

纸飞机博客 2270

CASS3D实战:高效三维房屋与地形采集绘制技巧

本文详细介绍了CASS3D在三维房屋与地形采集绘制中的高效技巧,包括智能绘房功能、不规则结构处理、特殊构件快速绘制及地形数据采集策略。通过实战案例和进阶操作指南,帮助用户快速掌握CASS3D的核心功能,提升三维采集与绘制效率。

weixin_29216049的博客 866

从原理到落地:Mamba-YOLOv8 全面实战指南(源码 + 训练 + 部署一次学会)

在目标检测领域,CNN与Transformer的较量从未停歇。本文提出一种革命性的架构——,将状态空间模型(SSM)首次引入YOLO框架。实验表明,该模型在COCO数据集上达到54.3% mAP@0.5,推理速度达89 FPS(RTX 4090),相比原版YOLOv8提升12.7%精度与23%速度。本文将完整揭示其技术原理与工程实现,助您掌握这一前沿技术。

FJN110的博客 119

GIT开发中的使用

Git的使用

luckly_xixi的博客 936

飞牛fnNAS搭建web版微信

摘要:本文介绍了一种通过Docker在飞牛NAS上部署微信客户端的方法,实现24小时同步微信聊天记录。具体步骤包括:1)激活飞牛NAS的Docker功能并配置镜像加速源;2)创建专用文件夹并下载docker-wechat镜像;3)设置容器参数并部署微信客户端;4)通过局域网或ZeroTier内网穿透实现远程访问。相比传统Windows/Linux方案,该方法资源占用更低,适合需要长期保存微信聊天记录的用户。

dgnankai的专栏 3330

如何用 GIT 暂存未提交的改动 (stashing 功能)

今天在调试项目 BUG 的时候,在当前的分支上开发到一半,想切换到一个以前的分支看看以前的另外一个版本有没有跟这个 BUG 相关的处理(其实俺就是想抄一下作业,虽然并没有抄到,哭)。但是这时候我已经对当前的分支作了一些修改,但是这个 BUG 没修完也不能直接提交呀,但是切换分支的话我所有做的修改就都没了,怎么办怎么办怎么办。。。这时候发现了 GIT 的一个 stashing 功能,好家伙,这玩意可以暂存一些未提交的修改,接下来就看看怎么用这个命令吧~ 0x1 stashing 功能简单演示 假设目前我的项

qq_21746331的博客 636

62. 如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能

本文通过一个实际的例子,介绍了如何不通过修改 SAP 标准 ABAP 程序源代码的方式,对其的功能进行增强,即采取 ABAP 增强开发的方式进行二次开发,这是一种在实际 SAP 项目实施过程中使用非常广泛的技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3303

(三)UPF之Domain Coverage Relationship(Cover、Equivalent、Independent)

整个Soc架构中一般会存在多个Power Domain,不同的Power Domain之间也存在着一定的Coverage关系。在Cadence工具中,这种。不同的Domain Coverage关系中,各个Domain存在着一定的关联()。

Mr.翟的博客 1422

项目开发中途使用Git的方法

如何将远程仓库的内容,覆盖本地文件夹 在进行模型开发的时候,常常需要在多个机器上运行一个项目。 一般来说,文件还小的时候,直接手动传输。但是文件慢慢变多,修改内容散,还是进行全文件传输就显得比较麻烦,尤其是不同机器上的项目可能还有微小的差别。 那么怎么做呢。采用Git的管理方式。 可以先用机器A上的本地仓库创建一个gitee远程仓库。 然后在机器B上的本地仓库中,从gitee远程仓库中获取最新代码。 git fetch --all 经机器B中原有的代码进行备份 git branch backup-mast

ckxkexing的博客 229

MCAL知识点(十):ERU驱动配置详解

ERS:外部请求单元ETL:中断逻辑单元OGU:输出逻辑单元MCU里面配置要使用的功能和选择输入的管脚,注意上述模块关注点讲述的ERU必须和边沿检测模块相关联。

梦想技术家 1221

Git版本管理及使用规范

Git版本管理和使用规范 Git分支管理、分支命名规范 Git代码理解规范和提交流程

focus:Follow One Cause Until Success 6258

【第07例】IPD体系进阶: 6 个技术评审点(TR)

TR技术评审点

产品线负责人 4411

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

feature分支开发到一半时切换到bugfix分支,如何暂存数据

1、解决思路   在工作过程中,当你正在当前feature分支上进行功能的开发,突然来了一个bug,要创建一个bugfix修复分支进行修复。但是当前feature分支你只开发了一半,显然你去提当前的半成品是不合适的,我们如何处理此类问题,来大家看下一图解:  我们用到的关键命令:  ```properties  #创建Stash 工作点:  git stash save "干活干到一半"  #查看stash list  git stash list  恢复方式一:  # apply恢复后手动drop清除st

zy1992As的博客 823

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

git提交规范 fix,feat等字段含义

以下是commit提交规范,主要是在提交代码时标识本次提交的属性。

默的博客 6万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[1268]Git分支管理及命名规范

代码库有且仅有一个主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。Git默认主分支Master,它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。最后回顾开头的大图,掌握两大主分支、三个辅助分支的生命周期,起于哪个分支始于哪个分支。参考:https://blog.youkuaiyun.com/GYQ1547426970/article/details/109001797。

周小董 8617

Git工作流中常见的三种分支策略:GitFlow、GitHubFlow和GitLabFlow

点击下方“青年码农”关注回复“源码”可获取软件,源码等资料Git 作为一个源码管理系统,不可避免涉及到多人协作。既然协作,就必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。Git Flow、GitHub Flow、GitLab Flow 是 Git 版本控制系统下的不同的开发流程。虽然它们都包含了一些相似的分支,但它们在分支管理、版本控制等方面有所不同。Git FlowGi...

青年码农 2379

git项目实现合并一个分支的代码到另一个分支

git项目实现 一个分支的代码合并到另一个分支: 例子:使用idea软件把dev分支上的代码合并到qa分支上 步骤1:在本地dev分支上,把本地修改的代码提交到远端分支dev上 步骤2:切换本地qa分支 步骤3:切换好后,拉取远端qa代码:点击右上角拉取箭头,点击OK按钮 步骤4:合并dev代码到本地qa分支 步骤5:将本地qa分支代码push到远端qa push成功标志: ...

12程序猿的博客 2725

学习使用git的一些事

git commit -m “” 规范 build:代码已构建 docs:文档 feat:新功能的实现 fix:bug修复 refactor:重构代码 revert:恢复上一次提交 perf:更改代码,提高性能 style:格式,不影响代码功能 test:增加测试用例 chore:其他修改 “type(file_name):content” 例如在user界面完成了一个查询用户名的新功能 要这样commit git commit -m “feat(user):新增用户名可查询

m0_57560561的博客 276

[Pro Git#2] 分支管理 | branch fix_bug , feature | 处理合并冲突

本文详述Git分支管理全流程,涵盖Issue与Pull Requests模板、分支创建、切换、合并及冲突解决,强调分支在日常开发、测试和Bug修复中的重要性,并介绍高效分支管理策略与原则,确保团队协作顺畅,代码质量稳定。特别关注临时分支的管理和适时删除,以及如何处理未完成的feature分支,以保持仓库整洁有序。

No Game No Life 1817

Git提交信息和分支创建规范

转自https://www.toutiao.com/i6891307636310934028/ 为什么要制定规范 古话说,没有规矩不成方圆。在团队协作开发时,每个人提交代码时都会写 commit message,但如果没有规范,每个人都会有自己的书写风格,因此在翻看 git log 时经常看到的是五花八门,十分不利于阅读和维护。 通过下面两个例子来看看没规范和有规范的对比,以及有规范能带来哪些好处。 提交信息 没规范 vs 有规范 没有规范的 Git 提交信息 从这个提交信息里你不知道他修.

心静自然凉zc的博客 950

Git应用——代码提交规范 feat ,fix ,style ,perf......

当前使用示例:时小记,终有成。

weixin_72099243的博客 3595

Git提交规范 关键词feat、fix等字段含义

Git提交规范 feat、fix等字段含义。

工作中学习,学习中进步 9049
上一篇: 开发工具: git 08、将暂存区中的多个功能代码分成多次提交
下一篇: 开发工具: git 10、对本地不规范的提交历史进行修改和调整
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值