git bisect和git blame
1.用 git bisect 找到出错的commit
设置开始,最新的一个已知的错误的commit和第一个已知的正确的commit,通过二分法,找出第一个出错的commit。
二分查找法(binary search method)或二分法(bisection method),是一种在有序数组中查找目标位置的搜索方法。算法会在每一步与数组的中间值进行比较,如果匹配成功则返回该位置;否则,根据比较结果,选择中间值的右侧或左侧的子数组继续搜索,直至找到目标位置。在 Git 中,历史提交记录对应一组可供测试的值数组,若程序能在某个 commit 编译成功则为目标位置。二分查找的算法复杂度为 O(log n)。
开始测试:
$ git bisect start
将当前版本标记为【bad】:
$ git bisect bad
将上一个正常版本标记为【good】:
$ git bisect good master
启动第一轮排查:
具体参见(用 git bisect 快速定位你想找的 commit当项目报错,你想定位是哪个 commit 引入的错误的时候,会怎 - 掘金)
2. 使用 git blame 命令
git bisect 适用于只知道项目有 bug,但不知道 bug 在哪儿、是具体哪次提交引入的场景。如果知道了 bug 在代码中的位置,需要明确谁提交或改动的这行代码,就需要使用 git blame 命令。
git blame --date short -L 1,10 ChangeLog.MD1a3b00cd (Henry Wu 2024-08-29 1) # 2024-08-28 等保原由做了修改
1a3b00cd (Henry Wu 2024-08-29 2) 小程序游客绑定工号可能会报错误;
1a3b00cd (Henry Wu 2024-08-29 3) 移动注册页面需要修改;
1a3b00cd (Henry Wu 2024-08-29 4)
feff34d1 (Henry Wu 2023-03-24 5)
3f600469 (Henry Wu 2024-07-16 6) # 2024-07-16 清理文件
3f600469 (Henry Wu 2024-07-16 7) 移除MigrationBackup文件夹,其中为
3f600469 (Henry Wu 2024-07-16 8) V1/Service/Share/packages.config
3f600469 (Henry Wu 2024-07-16 9) V1/Service/Share/abc.cs
3f600469 (Henry Wu 2024-07-16 10) 这2个项目升级时的备份
其中的 -L 表示限定考察代码的行数范围,格式为 -L <from>,<to> 。从反馈的结果可知,bug 出现在 map.txt 文件的第 37 至 39 行,由 HAL 首次引入该 bug,对应 SHA-1 为 83076f97,与 git bisect 结果一致。
此外,还可以指定 -M 参数,查看文件被重构或移动到某处的情况;指定 -C 参数,则可以展示目标文件从当前 commit 包含的文件中复制或移入相关代码的情况;指定 -CCC 则范围不仅限于当前 commit,可包含所有 commit。
相关文章:
git bisect和git blame
1.用 git bisect 找到出错的commit 设置开始,最新的一个已知的错误的commit和第一个已知的正确的commit,通过二分法,找出第一个出错的commit。 二分查找法(binary search method)或二分法(bisection meth…...
【面试题】Node.JS篇
1. 什么是Node.js?它的主要特点是什么?适用于哪些场景? Node.js 是一个基于Chrome V8引擎的JavaScript运行时环境,它允许JavaScript代码在服务器端运行。Node.js的主要特点是事件驱动、非阻塞I/O模型,这使得它非常适合处理高并发请求和实时应用。它适…...
Leetcode11:盛水最多的容器
原题地址:. - 力扣(LeetCode) 题目描述: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳…...
php如何对海量数据进行基数统计
在PHP中,对海量数据进行基数统计通常可以使用布隆过滤器(Bloom Filter)或者Count-Min Sketch算法。以下是使用Count-Min Sketch算法的一个简单示例: class CountMinSketch {private $rows;private $columns;private $values;publ…...
git命令报错:fatal: not a git repository (or any of the parent directories): .git
当你执行 Git 命令时遇到错误信息 "fatal: not a git repository (or any of the parent directories): .git",这表明你当前所在的目录不是一个 Git 仓库,或者你的工作目录不在 Git 仓库的根目录下。以下是一些解决这个问题的步骤:…...
如何通过sip信令以及抓包文件分析媒体发到哪个地方
前言 问题描述:A的媒体没转发到B,B只能听到回铃音,没有A的说话声音,并且fs这边按正常的信令发送了. 分析流程 分析早期媒体发送到哪一个IP 10.19.0.1发送了一个请求给10.19.0.157这个IP,然而这里的SDP媒体地址&am…...
【网络安全零基础入门】一文搞懂Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传
文章目录 一、Javascript原生post请求写法二、原生JS封装Ajax请求三、JS里的值或内容输出到HTML网页中四、Javascript页面后退前进刷新示例五、Javascript实现文件上传👉1.成长路线图&学习规划👈👉2.网安入门到进阶视频教程👈…...
NVR管理平台EasyNVR多个NVR同时管理综合应用方案
为了推动应急管理能力的现代化,应急管理部提出了加速现代信息技术与应急管理业务深度融合的宏伟蓝图。这一计划不仅是国家加强和改进应急管理工作的战略重点,也是应对当前应急管理形势的严峻挑战和满足人民群众对公共安全需求的必要举措。 为了实现应急管…...
SpringBoot核心框架之AOP详解
SpringBoot核心框架之AOP详解 一、AOP基础 1.1 AOP概述 AOP:Aspect Oriented Programming(面向切面编程,面向方面编程),其实就是面向特定方法编程。 场景:项目部分功能运行较慢,定位执行耗时…...
Linux: network: ifconfig已经过时,建议使用ip addr相关命令
最近有一个同事在问网络的问题,在debug的过程中还在使用ifconfig命令查看IP的相关信息。 但是这个ifconfig已经不推荐使用了,最好使用ip 相关的命令做操作。 有些信息使用ifconfig显示不出来 ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ine…...
Flutter 鸿蒙next中的路由使用详解【基础使用】
✅近期推荐:求职神器 https://bbs.csdn.net/topics/619384540 🔥欢迎大家订阅系列专栏:flutter_鸿蒙next 💬淼学派语录:只有不断的否认自己和肯定自己,才能走出弯曲不平的泥泞路,因为平坦的大路…...
基于SSM+小程序民宿短租管理系统(民宿1)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序民宿短租管理系统实现了管理员、用户及房主 1、管理员可以管理民宿信息和订单信息用户管理、房主管理、房间类型管理、预定管理等。 2、房主可以管理自己的民宿和订单 3、…...
SQL LIKE 操作符
SQL LIKE 操作符 在SQL中,LIKE 操作符用于在查询中搜索列中的特定模式。它通常与 % 和 _ 通配符一起使用,分别代表任意数量的字符和单个字符。LIKE 操作符在数据过滤和模式匹配方面非常有用,尤其是在处理大量文本数据时。 LIKE 操作符的基本…...
七款主流图纸加密软件强力推荐|2024年CAD图纸加密保护指南
在当今信息化的设计行业,保护CAD图纸的知识产权和数据安全变得尤为重要。随着越来越多的企业采用数字化设计和共享文件,如何防止CAD图纸被未经授权的访问和窃取成为了许多设计师和企业关注的焦点。为此,选用合适的图纸加密软件是保护CAD文件安…...
【STM32】单片机ADC原理详解及应用编程
本篇文章主要详细讲述单片机的ADC原理和编程应用,希望我的分享对你有所帮助! 目录 一、STM32ADC概述 1、ADC(Analog-to-Digital Converter,模数转换器) 2、STM32工作原理 二、STM32ADC编程实战 (一&am…...
C# 委托简述
1.委托 1.1什么是委托 委托委托 官网解释: 委托是安全封装方法的类型,类似于 C 和 C 中的函数指针。 与 C 函数指针不同的是,委托是面向对象的、类型安全的和可靠的。 委托的类型由委托的名称确定。 个人理解:委托就是一个方法的模板。它可以接收…...
瑞吉外卖项目
目录 Day01业务开发 一、项目总体介绍与展示 二、软件开发整体介绍 (一)软件开发流程 三、瑞吉外卖项目介绍 (一)项目介绍 (二)技术选型功能架构 1.技术选型—— 编辑2.功能架构—— 编辑 &a…...
Docker:4、龙晰(Anolis OS 8.8)宝塔面板安装
接上文Docker:1、基于龙晰 (Anolis OS 8.8 )的基础镜像制作,本节我们介绍:基于Docker的龙晰(Anolis OS 8.8 )宝塔安装。 在第一节中由于我们对 Docker 容器进行了SSH设置,这为我们这…...
多端项目开发全流程详解 - 从需求分析到多端部署
引言 在当今互联网时代,一个完整的产品常常需要覆盖多个终端,包括小程序、Web端(后台管理系统)、App端等。本文将详细介绍一个采用前后端分离架构的多端项目开发流程,重点分析各个终端的特点、功能定位及其开发要点。…...
4.5KB原生html+js+css实现图片打印位置的坐标和尺寸获取
一般用于图片打印文字或图片的坐标获取,代码来自AI有改动。 功能:本地图选择后不上传直接可比划线条作为对角线得到矩形,动态显示坐标 按下鼠标开始松开鼠标结束。有细微BUG但不影响坐标获取。 <!DOCTYPE html> <html lang"en">…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...
MCP和Function Calling
MCP MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而…...
