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

git | git 2023 详细版

文章目录

  • 一、Git命令
    • 1.2 设计用户签名
    • 1.3 初始化本地库
    • 1.4 查看本地库状态
    • 1.5 添加至暂存区
    • 1.6 从暂存区删除
    • 1.7 将暂存区的文件提交到本地库
    • 1.8 查看版本信息
  • 二、Git分支
    • 2.1 查看分支
    • 2.2 创建分支
    • 2.3 切换分支
    • 2.4 合并分支
  • 三、GitHub
    • 3.1 代码克隆clone
    • 3.2 给库取别名
    • 3.3 推送本地分支到远程仓库
    • 3.4 拉取远程库
    • 3.5 邀请加入团队
    • 3.6 idea集成GitHub
      • 3.6.1 配置忽略文件
      • 3.6.2 定位 Git 程序
      • 3.6.3 集成 Git
      • 3.6.4 切换版本
      • 3.6.5 创建分支
      • 3.6.6 切换分支
      • 3.6.7 合并分支
      • 3.6.8 解决冲突

在这里插入图片描述

一、Git命令

如果出现了下面的报错,是因为复制粘贴时 git 前面不小心多加了个空格,算了个字符就会报错,删掉即可解决

bash: $'\302\203git': command not found

基于开发命令中常用的git命令

1.2 设计用户签名

-- git config --global user.name 用户名
git config --global user.name ffideal
-- git config --global user.email 邮箱
git config --global user.email 1359975xxx@qq.com

1.3 初始化本地库

git init

1.4 查看本地库状态

哪个分支、哪些文件、只要库被修改且未被追踪工作区

git status

测试结果

On branch master
Your branch is up to date with 'origin/master'.Changes to be committed:
.... 

修改一个文件之后

$ git status
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   hello.javano changes added to commit (use "git add" and/or "git commit -a")

1.5 添加至暂存区

-- git add 文件名
git add hello.java

1.6 从暂存区删除

git rm --cached hello.java

注意:工作区中 hello.java 还在的

1.7 将暂存区的文件提交到本地库

-- git commit -m "日志信息" 文件名
git commit -m "我的第一个提交的java文件" hello.java

测试结果

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git commit -m "我的第一个提交的java文件" hello.java
[master (root-commit) cbe2bf8] 我的第一个提交的java文件1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 hello.java

1.8 查看版本信息

-- 查看版本日志信息
git log
-- 查看版本详细日志信息,包括版本号、提交者、日期、日志信息
git reflog

测试结果

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$git creflog
cbe2bf8 (HEAD -> master) HEAD@{0}: commit (initial): 我的第一个提交的java文件dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git log
commit cbe2bf893a34fa9790374af38260b6bcf272137f (HEAD -> master)	-- 版本号
Author: FFIDEAL <xxxxx@qq.com>	-- 提交者
Date:   Fri Oct 14 19:29:18 2022 +0800	--日期我的第一个提交的java文件		-- 日志信息

⑧ 版本穿梭(切换不同的版本)

git reset --hard cbe2bf893a34fa9790374af38260b6bcf272137f

测试结果

HEAD is now at cbe2bf8 我的第一个提交的java文件

这命令可以让指针指向相应的软件版本

比如,提交修改后的 hello.java 文件

$ git commit -m "修改后的hello.java" hello.java
[master 0289986] 修改后的hello.java1 file changed, 1 insertion(+)

查看日志,可以发现版本号是不一样的。这些版本分别是:0289986,cbe2bf8

$ git reflog
0289986 (HEAD -> master) HEAD@{0}: commit: 修改后的hello.java
cbe2bf8 HEAD@{1}: reset: moving to cbe2bf893a34fa9790374af38260b6bcf272137f
cbe2bf8 HEAD@{2}: commit (initial): 我的第一个提交的java文件

此时我们发现,head指针指向0289986,现在我要让他指向cbe2bf8,就可以使用以下命令

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$git reset --hard cbe2bf8
HEAD is now at cbe2bf8 我的第一个提交的java文件
-- 测试结果
dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git reflog
cbe2bf8 (HEAD -> master) HEAD@{0}: reset: moving to cbe2bf8	-- 指向了cbe2bf8
0289986 HEAD@{1}: commit: 修改后的hello.java
cbe2bf8 (HEAD -> master) HEAD@{2}: reset: moving to cbe2bf893a34fa9790374af38260b6bcf272137f
cbe2bf8 (HEAD -> master) HEAD@{3}: commit (initial): 我的第一个提交的java文件

此外,在本地,可以进入工作区

方案一:进入 .git 文件夹,在 .git/HEAD 记录了谁提交

方法二:进入 .git/refs/heads/main(用户名) 记录了版本号

在git中,当前版本是用HEAD版本来标识的,前一个版本使用 HEAD^ 来表示,上上个版本使用 HEAD^^ 来表示。那么前100个版本如何表示呢?我们不可能写100个 ^ ,我们有简便写法,那就是 HEAD^100。用这种简便写法,上上个版本可以这样表示HEAD^2

二、Git分支

分支特性:分支创建、分支转换、分支合并、代码合并冲突解决

一个分支就是一个副本

2.1 查看分支

git branch -v

测试结果

$ git branch -v
* master cbe2bf8 我的第一个提交的java文件

2.2 创建分支

git branch newBranch

测试结果

$ git branch newBranchdell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git branch -v
* master    cbe2bf8 我的第一个提交的java文件newBranch cbe2bf8 我的第一个提交的java文件

2.3 切换分支

git checkout newBranch

测试结果

git checkout newBranch
Switched to branch 'newBranch'dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (newBranch)		-- 测试结果,已经切换至newBranch

2.4 合并分支

-- git merge 分支名
git merge newBranch

测试流程和结果

-- 1,newBranch 分支下修改了hello.java
dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (newBranch)
$ cat hello.java
222     newBranch
111dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (newBranch)
$ git add .dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (newBranch)
$ git commit -m "测试冲突newBranch修改了hello.java文件" hello.java
[newBranch ccb3ef2] 测试冲突newBranch修改了hello.java文件1 file changed, 1 insertion(+), 1 deletion(-)dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (newBranch)
$ git checkout master
Switched to branch 'master'-- master 分支下修改了hello.java
dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ cat hello.java
222
111     masterdell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git add .dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git commit -m "测试冲突master修改了hello.java文件" hello.java
[master 5ff3ad3] 测试冲突master修改了hello.java文件1 file changed, 1 insertion(+), 1 deletion(-)dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git merge newBranch
Auto-merging hello.java
CONFLICT (content): Merge conflict in hello.java	--出现了合并冲突
Automatic merge failed; fix conflicts and then commit the result.

查看 hello.java 文件,文件内容如下:

<<<<<<< HEAD
222
111	master
=
222     newBranch
111
>>>>>>> newBranch

我们如下内容,只需要把其他内容删掉

222     newBranch
111	master
<<<<<<< HEAD	-- 删除
222		-- 删除
111	master		-- 保留
=		-- 删除
222     newBranch		-- 移动位置
111			-- 删除
>>>>>>> newBranch		-- 删除

完成后提交,注意,这里 git commit -m "合并了master和newBranch冲突之后最终得到的hello.java文件" 是不能带文件名的

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master|MERGING)
$ git add .-- 这里不能带文件名
dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master|MERGING)
$ git commit -m "合并了master和newBranch冲突之后最终得到的hello.java文件"
[master 3751ec1] 合并了master和newBranch冲突之后最终得到的hello.java文件

查看提交后的 hello.java 的内容。但是,由于是 master 合并 newBranch 分支的内容,所以在 master 分支下可以看到合并后的内容,但是在 newBranch 分支并没有被修改。这就是为什么在团队合作中,push 提交到远程库之前要 pull 一下远程库的内容,以保持内容的一致性

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ cat hello.java
222     newBranch
111     masterdell@DESKTOP-B06U8EQ MINGW64 /e/github/git (master)
$ git checkout newBranch
Switched to branch 'newBranch'dell@DESKTOP-B06U8EQ MINGW64 /e/github/git (newBranch)
$ cat hello.java
222     newBranch
111

三、GitHub

在 github 上创建一个远程库,我的远程库名称为 git_test

然后把该库 clone 到本地

3.1 代码克隆clone

git clone git@github.com:ffideal/git_test.git

3.2 给库取别名

-- git remote add 别名 远程库
git remote add name git@github.com:ffideal/git_test.git

测试结果

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git/git_test (master)
$ git remote -v
name    git@github.com:ffideal/git_test.git (fetch)
name    git@github.com:ffideal/git_test.git (push)
origin  git@github.com:ffideal/git_test.git (fetch)
origin  git@github.com:ffideal/git_test.git (push)

删除别名

-- git remote remove <别名>
git remote remove gitit_nickname

测试结果

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git/git_test (master)
$ git remote -v
git_test        git (fetch)
git_test        git (push)
gitit_nickname  git@github.com:ffideal/git_test.git (fetch)		-- 删除目标
gitit_nickname  git@github.com:ffideal/git_test.git (push)
name    git@github.com:ffideal/git_test.git (fetch)
name    git@github.com:ffideal/git_test.git (push)
origin  git@github.com:ffideal/git_test.git (fetch)
origin  git@github.com:ffideal/git_test.git (push)dell@DESKTOP-B06U8EQ MINGW64 /e/github/git/git_test (master)
git remote remove gitit_nicknamedell@DESKTOP-B06U8EQ MINGW64 /e/github/git/git_test (master)	-- 已被删除
$ git remote -v
git_test        git (fetch)
git_test        git (push)
name    git@github.com:ffideal/git_test.git (fetch)
name    git@github.com:ffideal/git_test.git (push)
origin  git@github.com:ffideal/git_test.git (fetch)
origin  git@github.com:ffideal/git_test.git (push)

3.3 推送本地分支到远程仓库

-- git push 别名 分支
git push origin main

测试结果,注意,如果此时该分支不存在,会被创建分支

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git/git_test (main)
$ git push origin main
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 560 bytes | 280.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'main' on GitHub by visiting:
remote:      https://github.com/ffideal/git_test/pull/new/main
remote:
To github.com:ffideal/git_test.git* [new branch]      main -> main

3.4 拉取远程库

-- git pull 远程库地址or别名 远程分支名
git pull origin master

测试结果

dell@DESKTOP-B06U8EQ MINGW64 /e/github/git/git_test (master)
$ git pull origin master
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
Unpacking objects: 100% (3/3), 1.41 KiB | 479.00 KiB/s, done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
From github.com:ffideal/git_test* branch            master     -> FETCH_HEADbde7239..9edde2f  master     -> origin/master
Updating cd10529..9edde2f
Fast-forward...263\250\350\247\243\350\257\246\351\233\206.md" | 80 ++++++++++++++++++++++1 file changed, 80 insertions(+)create mode 100644 "\346\263\250\350\247\243\350\257\246\351\233\206.md"

查看文件

$ dir
hello.java  main.txt  注解详集.md

3.5 邀请加入团队

① 选择合作者:进入项目 → settings → Manager access → Invite a callaborator

在这里插入图片描述

② 填入想要合作的人

③ 复制地址并通过微信等方式发送给该用户

④ 点击接收邀请 Accept invitation

⑤ 成名后,可以在该合作者账号上看到远程仓库

⑥ 可以操作该库

3.6 idea集成GitHub

3.6.1 配置忽略文件

就是在git目录下创建一个文件 xx.ignore 建议是 git.ignore

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/### VS Code ###
.vscode/# compiled class file
*.class# Log file
*.log# Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

3.6.2 定位 Git 程序

settings → Version Control → Git → 选择自己的 git.exe 安装目录 → test

在这里插入图片描述

3.6.3 集成 Git

VCS → Import into Version Control → Create Git Repository → 选择项目目录(初始化本地库)右击点击项目选择Git → commit directory → 选择删文件以及在commit message 中填写描述 → commit

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.6.4 切换版本

在idea的左下角,点击version control,然后点击log 查看版本 → 右击选择要切换的版本,然后在菜单里点击Checkout Revision

3.6.5 创建分支

Git → Repository → new Branch → 填写分支名称 → 填写之后在 idea 的右下角看到我们新建的分支,说明创建成功,并已经切换到该分支了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.6.6 切换分支

在 idea 窗口的右下角:master → Checkout → 选择分支xutao → 在右下角看到了xutao即成功

在这里插入图片描述

3.6.7 合并分支

Git:master → Merge Selected into Current → 选择要合并的分支

在这里插入图片描述

3.6.8 解决冲突

若出现冲突,我们栈在master分支上合并其他分支,出现了文件的不同就会发生冲突。点击 conflicts 框中的 Merge 按钮,手动合并

相关文章:

git | git 2023 详细版

文章目录一、Git命令1.2 设计用户签名1.3 初始化本地库1.4 查看本地库状态1.5 添加至暂存区1.6 从暂存区删除1.7 将暂存区的文件提交到本地库1.8 查看版本信息二、Git分支2.1 查看分支2.2 创建分支2.3 切换分支2.4 合并分支三、GitHub3.1 代码克隆clone3.2 给库取别名3.3 推送本…...

camunda流程引擎基本使用(笔记)

文章目录一、camunda基础1.1 安装与部署流程引擎1.2 流程引擎结构1.3 流程引擎的基本使用1.3.1 创建一个BPMN Diagram1.3.2 实现一个外部工作者1.3.3 部署流程1.3.4 创建一个流程实例并消费1.3.5 向流程中添加用户任务1.3.6 添加网关1.3.7 业务规则二、Java 集成流程引擎2.1 为…...

JS之数据结构与算法

前言数据结构是计算机存储、组织数据的方式,算法是系统描述解决问题的策略。了解基本的数据结构和算法可以提高代码的性能和质量。也是程序猿进阶的一个重要技能。手撸代码实现栈,队列,链表,字典,二叉树,动态规划和贪心算法1.数据结构篇1.1 栈栈的特点&#xff1a;先进后出clas…...

CnOpenData·A股上市企业数字化转型指数数据

一、数据简介 企业数字化转型是近年来中国社会各界重点关注的领域&#xff0c;但基础数据的不完善在很大程度上制约了相关科学研究的开展。构建合理、科学的数字化转型指标体系有利于学者定量地研究企业数字化的相关问题&#xff0c;也有利于衡量企业的数字化水平。广东金融学院…...

VMware16pro虚拟机安装全过程

很多时候需要用到Linux系统&#xff0c;简单的一种方式可以是&#xff1a;Windows系统运行Linux&#xff08;Windows Subsystem for Linux&#xff09;不过有些时候还是需要虚拟机来运行Linux&#xff0c;也更方便点&#xff0c;比如在做嵌入式系统的烧录等操作都需要Linux环境…...

阿里云第六代云服务器最新价格表(计算型c6、通用型g6和内存型r6)

目前阿里云第六代云服务器有计算型c6、通用型g6和内存型r6实例。计算型c6实例有2核4G、4核8G、8核16G配置可选&#xff0c;主要适用于网站应用、批量计算、视频编码等场景。通用型g6实例有2核8G、4核16G、8核32G配置可选&#xff0c;适用于各种类型的企业级应用&#xff0c;网站…...

微小目标识别研究(2)——基于K近邻的白酒杂质检测算法实现

文章目录实现思路配置opencv位置剪裁实现代码自适应中值滤波实现代码动态范围增强实现代码形态学处理实现代码图片预处理效果计算帧差连续帧帧差法原理和实现代码实现代码K近邻实现基本介绍实现代码这部分是手动实现的&#xff0c;并没有直接调用相关的库完整的代码——调用ope…...

2022-06-14至2022-08-11 关于复现MKP算法的总结与反思

Prerequisite 自2022年6月14日至2022年8月11日的时间内&#xff0c;我致力于完成A Hybrid Approach for the 0–1 Multidimensional Knapsack problem 论文的复现工作&#xff0c;此次是我第一次进行组合优化方向的学习工作&#xff0c;下面介绍该工作内容发展过程以及该工作结…...

IBMMQ教程二(window版安装)

下载下载地址&#xff1a;https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/我这里选择的是9.1.0.0版本安装将下载完成的压缩包解压双击Setup.exe直接运行点击软件需求查看系统配置是否满足&#xff0c;右边绿色的对号说明满足需求&#xff0c…...

Java | HashSet 语法

HashSet 基于 HashMap 来实现的&#xff0c;是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的&#xff0c;即不会记录插入的顺序。 HashSet 不是线程安全的&#xff0c; 如果多个线程尝试同时修改 HashSet&#xff0c;则最终结果是不确定的。 您必须…...

js学习4(运算符)

### 1.算数运算符&#xff1a; 、-、*、\、%&#xff08;取余&#xff09;、**&#xff08;幂方&#xff09; ## 优先级 同数学课程&#xff0c;可以加括号 ### 2.自增和自减 、--&#xff08;即数值变量加一或减一&#xff09; ### 3.赋值运算符 、、-、*、/、... ### 4.比较运…...

2月更新 | Visual Studio Code Python

我们很高兴地宣布&#xff0c;2023年2月版 Visual Studio Code Python 和 Jupyter 扩展现已推出&#xff01;此版本包括以下改进&#xff1a;从激活的终端启动 VS Code 时的自动选择环境 使用命令 Python: Create Environmen 时可选择需求文件或可选依赖项 预发布&#xff1a;改…...

C++回顾(十八)—— 文件操作

18.1 I/O流概念和流类库结构 1 概念 程序的输入指的是从输入文件将数据传送给程序&#xff0c;程序的输出指的是从程序将数据传送给输出文件。 C输入输出包含以下三个方面的内容&#xff1a; &#xff08;1&#xff09;对系统指定的标准设备的输入和输出。即从键盘输入数据&am…...

以java编写员工管理系统(测试过 无问题)

一、系统结果的部分展示 二、题目以及相关要求 三、组成 1.该系统由 Employee 类 、commonEmployee类、Testemd类和managerEmployee类组成 2.Employee实现的代码 public class Employee {private String id;private String name;private String job;private int holiday…...

单例模式之懒汉式

在上篇文章中&#xff0c;我们讲了单例模式中的饿汉式&#xff0c;今天接着来讲懒汉式。 1.懒汉式单例模式的实现 public class LazySingleton {private static LazySingleton instance null;// 让构造函数为private&#xff0c;这样该类就不会被实例化private LazySingleto…...

1638_chdir函数的功能

全部学习汇总&#xff1a;GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 今天看一个半生不熟的小函数&#xff0c;chdir。说半生不熟&#xff0c;是因为这个接口一看就知道是什么功能。然而&#xff0c;这个接口如何用可真就没啥想法了。 …...

使用CEF 获得某头条请求,并生成本地文件的方法

目录 一、获得网站请求响应信息 1、响应过滤 2、匹配过滤URL的函数 3、获得请求响应后的处理...

二十、Django-restframework之视图集和路由器

一、视图集和路由器 REST框架包含了一个处理视图集的抽象&#xff0c;它允许开发人员集中精力建模API的状态和交互&#xff0c;并根据通用约定自动处理URL构造。 视图集类与视图类几乎相同&#xff0c;不同之处在于它们提供的是retrieve或update等操作&#xff0c;而不是get或…...

[深入理解SSD系列 闪存实战2.1.2] SLC、MLC、TLC、QLC、PLC NAND_固态硬盘闪存颗粒类型

闪存最小物理单位是 Cell, 一个Cell 是一个晶体管。 闪存是通过晶体管储存电子来表示信息的。在晶体管上加入了浮动栅贮存电子。数据是0或1取决于在硅底板上形成的浮动栅中是否有电子。有电子为0,无电子为1. SSD 根据闪存颗粒区分,固态硬盘有SLC、MLC、TLC、QLC、PLC 五种类型…...

论文阅读-MGTAB: A Multi-Relational Graph-Based Twitter Account DetectionBenchmark

目录 摘要 1. 引言 2. 相关工作 2.1. 立场检测 2.2.机器人检测 3.数据集预处理 3.1.数据收集和清理 3.2.专家注释 3.3. 质量评估 3.4.特征分析 4. 数据集构建 4.1.特征表示构造 4.2.关系图构建 5. 实验 5.1.实验设置 5.2.基准性能 5.3训练集大小的研究 5.4 社…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...