取消跟踪文件顾名思义也可以理解为:从 Git 中删除文件夹但本地保留 1234567git rm -r --cached FileName ## 这个命令用于从 Git 的版本控制中删除文件,但保留在工作目录中。它会将文件从暂存区(索引)中删除,但不会删除实际的文件。这意味着文件不再被跟踪,但仍然存在于你的工作目录中。git commit -m "Remove FileName folder from Git" ## 提交删除文件夹的更改到Git历史记录中git push origin <branch-name> ## push到远程分支 ## 扩展git rm FielName ## 执行命令之后,会将git暂存区文件和本地的彻底清除,慎用! 当你运行 git rm --cached 命令时,Git 会将你指定的文件或文件夹从 Git 仓库中删除,但不会删除实际的文件或文件夹。这意味着文件或文件夹将不再被 Git 跟踪,但仍然存在于你的本地文件系统中。如下图,仓库中存在一个Nginx目录,我不想让他在远程仓库中展示出来但本地又需要用到他,则我可以 ...
InnoDB引擎逻辑存储结构 表空间表空间是InnoDB存储引擎的最高层,在磁盘中每个表都有一张表空间文件(xxx.ibd),一个MYSQL可以有多个表空间,表空间主要用于存储记录、索引等数据。 段段,分为:数据段、索引段、回滚段,InnoDB是索引组织表,数据段也就是B+树的叶子节点,索引段为B+树的非叶子节点,段用来管理多个区。 区区,是表空间的单元结构,每个区大小为1M,默认情况下Mysql的InnoDB引擎页大小为16K,也就是一个区中一共有64个连续的页。 页页,是InnoDB最小的磁盘管理单元,每个也为16KB,为了保证页的连续性,InnoDB引擎在申请页大小的时候会连续申请4-5个连续的页。 行行,InnoDB 存储引擎数据是按行进行存放的。 在行中,默认有两个隐藏字段: Trx_id:每次对某条记录进行改动时,都会把对应的事务id赋值给trx_id隐藏列。 Roll_pointer:每次对某条引记录进行改动时,都会把旧的版本写入到undo日志中,然后这个 隐藏列就相当于一个指针,可以通过它来找到该记录修改前的信息。 架构之所以Mysql采用InnoDB作为默认的 ...
插入数据批量插入数据1Insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry'); 手动控制事务12345start transaction;insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry');insert into tb_test values(4,'Tom'),(5,'Cat'),(6,'Jerry');insert into tb_test values(7,'Tom'),(8,'Cat'),(9,'Jerry');commit; 主键顺序插入,性能要高于乱序插入12主键乱序插入 : 8 1 9 21 88 2 4 15 89 5 7 3主键顺序插入 : 1 2 3 4 5 7 8 9 15 21 88 89 大批量插入数据如 ...
前言文章由本人通过互联网自学、整理、总结的教程,仅作为学习笔记记录,并分享给有需要的同学。 索引概述在我理解看来,索引是具有高效查询的一种数据结构,也可以理解为满足特定查找算法的数据结构,这种数据结构以某种方式指向数据。 索引特点 索引结构MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种: 上述是MySQL中所支持的所有的索引结构,接下来,我们再来看看不同的存储引擎对于索引结构的支持情况 注意: 我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引。 B-TreeB-Tree,B树是一种多叉路衡查找树,相对于二叉树,B树每个节点可以有多个分支,即多叉。 以一颗最大度数(max-degree)为5(5阶)的b-tree为例,那这个B树每个节点最多存储4个key,5 个指针: 知识小贴士: 树的度数指的是一个节点的子节点个数。 我们可以通过一个数据结构可视化的网站来演示:https://www.cs.usfca.edu/~galles/visualization/BTree.html B+TreeB+Tree是B-Tree的 ...
前言在微服务项目中,假设项目在服务器部署上线了,此时该如何进行调式和排查问题呢? Jvm Debug在idea中配置Jvm Debug,注意这里Host写自己主机ip地址,Port默认5005即可,模块选择你需要调试的模块 在Jenkins中设置构建配置信息,配置好后重新启动docker服务, 1ssh root@192.168.150.101 "/usr/local/src/script/startup.sh -c tj-trade -n tj-trade -d tj-trade -p 8088 -a 5005" 可以看到启动之后也带上了5005端口 在启动idea的JvmDebug,此时可以看到我Idea中之启动了一个JvmDebug应用,其余服务都没有启动 并且当控制台打印transport: 'socket'说明,链接成功,正在进行通信了 测试此时,只需要在调用一次接口就可以查看是否已经可以实现远程调试的作用了
前言记录一下调试远程和本地代码的时候,下线Nacos远程服务报错问题 问题复现192.168.150.1是本地运行的服务, 101是服务器部署的服务,现在我需要让接口调用Nacos的时候走192.168.150.1有两种方法,一种是调整某个服务的 优先级,第二种方法是直接下线某个服务,这里我采用的是第二种,直接下线服务的方式,此时就出现了一下的问题 问题分析nacos 采用 raft选举算法计算 Leader,并记录上次启动的集群地址,服务器 IP 改变时(网络环境不稳定,如WIFI, IP 地址也经常变化)会导致 raft 记录的集群地址失效,导致选 Leader 出现问题。 解决方法Nacos在本地 删除Nacos根目录下data文件中的protocol文件夹,然后重启即可 Nacos在服务器中相关命令 123456docker exec -it nacos /bin/bash ## 进入nacos容器cd data/ ## 进入data文件夹rm -rf protocol/ ## 删除文件夹exit docker restart nacos # ...
后端技术
未读前言今天在B站大学学习并发编程的时候,老师引用了一个第三方的jar包(jol-core),maven坐标如下,来打印锁对象的Mark Word字节码,从而更直观察地多线程下加偏向锁的情况。 12345<dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.17</version> </dependency> 这些都是挺常规的操作,接着老师的骚操作来了,扩展了jar包里面的方法。弹幕里面都是惊呼声,老师改了jar包,我们学习者没法复现了呀。 我这人就喜欢钻牛角尖,评论区翻遍了也没见得有这个Jar包修改方法的 好心人,那就只能自己动手咯。 视频地址 Jol-Core依赖加载失败 如果你没有这个问题可直接跳过 在加载Maven依赖的时候,Jol-Core这个Jar包就是拉不下来,因此我重新更新了一下Maven settings.xml中的 mi ...
闲谈技术
未读Monitor 概念回顾Java对象头以 32 位虚拟机为例 名词解释: Object Header (64 bits): 它包含了对象的元信息以及用于垃圾回收和同步的数据。 Mark Word (32 bits): 这个部分通常包含用于垃圾回收和同步的标记信息。标记字包含了对象的哈希码、锁定状态、垃圾回收标记等信息。 Klass Word (32 bits) : 这个部分包含指向对象的类元数据的指针,它描述了对象属于哪个类,包括类的方法、字段等信息。 普通对象12345|--------------------------------------------------------------| | Object Header (64 bits) | |------------------------------------|-------------------------| | Mark Word (32 bits) | Klass Word (32 bits) | ...
数据结构与算法
未读坚持就是胜利 LeetCode地址 引用站外地址 LeetCode 209 滑动窗口解题思路初始化变量和窗口 定义两个指针 left 和 right,分别表示窗口的左右边界,初始化为0。 定义一个变量 sum 用于存储窗口内元素的和,初始值为0。 定义一个变量 minlength 用于记录符合条件的最短子数组的长度,初始值为0。 移动右边界,扩大窗口 在一个 while 循环中,不断将 nums[right] 加到 sum 中,然后将右指针 right 向右移动,扩大窗口。移动左边界,缩小窗口 如果当前窗口的和大于等于目标值 target,则在另一个内部的 while 循环中,不断将 nums[left] 从 sum 中减去,并将左指针 left 向右移动,缩小窗口,直到窗口内的和小于目标值。 在这个过程中,不断更新 minlength,保持其为符合条件的最短子数组的长度。循环直 ...
软件与插件
未读前言最近在网上找到一批好的学习资料,想保存到网盘,奈何贫穷的我没有雄厚的财力无法支撑我去开网盘的VIP,不知道大家是否也有过这头疼的问题 因此给大家安利一波一个无需VIP,一键转存海量文件的工具,让你可以免费转存任意文件到百度网盘 百度开发者百度开放平台进行注册 注册之后点击控制台创建应用,然后你就会得到如下信息 进入到百度开放平台,找到接入授权下的授权码模式授权,当然你也可以不用进,因为接口在下方我以贴出来了 发起授权码Code请求发起授权码 Code 请求依赖于以下链接 12345678910GET http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=您应用的AppKey&redirect_uri=您应用的授权回调地址&scope=basic,netdisk&device_id=您应用的AppID**注意**:这里的回调地址如果你没有就直接写`redirect_uri=oob`以上链接示例中参数仅给出了必选参数,其中device_id为硬件应 ...