Git版本控制系统---本地操作(万字详解!)
目录
git基本配置
认识工作区、暂存区、版本库
添加文件--情况一:
添加文件-情况二:
修改文件:
版本回退:
git基本配置
1.初始化本地仓库,注意:一定要在一个目录下进行,一般都是新建一个文件夹,在文件夹中进行下文操作
指令:git init
2.初始化git的提交用户+邮箱
2.1:配置用户名:git config user.name "gitee的用户名||github用户名"
注意!,如果是gitee,你的用户名是@后面的字符串,不包括@!
2.2:配置邮箱:git config user.email "gitee/github绑定的邮箱地址"
3.查看当前路径下本地仓库的配置信息
指令:git config -l
4.重置配置信息
4.1:重置姓名:git config --unset user.name
4.2:重置邮箱:git config --unset user.email
5.将当前机器上所有的用户都配置相同的用户和密码
指令:git config --global user.name "gitee的用户名||github用户名"
指令:git config --global user.email "gitee/github绑定的邮箱地址"
注意:通过--global选项配置的账户信息是不能直接通过上述第4条说明中的指令重置的!!需要的指令如下:
重置用户名:git config --global --unset user.name
重置邮箱:git config --global --unset user.email
补充:1.gitee用户名位置:再次提醒:不要带上@!!!!!!!!!不要带上@!!!!!!!!!不要带上@!!!!!!!!!
2.查询giteer账号绑定的邮箱:在gitee主页(即上述图片界面),鼠标移动到右上角头像处,会有一个设置选项,点击,左边列表中有一个邮箱管理,点击后就能看到当前gitee账号绑定的邮箱
认识工作区、暂存区、版本库
在本地仓库目录中,创建一个Readme文件,注意!不能直接在.git中创建!禁止一切手动修改.git的操作
版本库:-->.git文件
工作区:-->Readme所在目录下,但不包括.git文件
暂存区:-->版本库的stage模块,又称索引
add操作
将工作区被修改的部分提交到暂存区stage
commit操作
将暂存区stage中的内容提交到某个分支,默认master分支
简易流程图:
添加文件--情况一:
概念补充:.表示当前路径 ..表示上一级路径
1.先前面创建的Readme文件中写点东西,比如"hello git!"
2.提交方式将工作区的内容提交到暂存区2.1:提交指定工作区指定内容指令:git add 带路径的文件名(不带路径会默认为当前路径中的文件)可以连续带多个文件名,之间使用空格隔开:git add file1 file2...2.2:提交当前目录下所有的内容指令:git add .将暂存区内容提交到master分支2.3:命令后可以带选项,例如 -m 表示提交内容的同时携带对提交内容的说明信息,方便记忆:其实-m就是message的缩写指令:git commit -m "说明信息"注意:执行commit命令之前一定要先add过,并且使用commit指令一定要带上-m选项!!查看git的历史提交记录:指令:git log优雅的查看历史提交记录:指令:git log --pretty=oneline
添加文件-情况二:
1.先在工作区创建1个文件,test1.txt
依次执行以下指令:
1.1:git add test1.txt
1.2:Linux机器:touch test2.txt
windows机器:直接鼠标创建test2.txt
1.3:git commit -m "test1.txt add"
观察现象,显示有几个文件提交了?只有1个!就是test1.txt
修改文件:
Git追踪的是工作区的修改,而不是文件本身!
当我们对已经commit过的工作区文件进行修改时,比如,打开之前创建的Readme文件,新增一行数据,比如新增"hello mygit!"
查看git状态的指令:
指令:git status
Linux上显示如下:
但是如果我想看到更详细的内容,比如:想知道是哪几行修改了,是增加还是删除?
指令:git diff 工作区被修改的文件名
Linux上显示如下,windows大差不差:
windows会更直观,不再赘述。
Readme文件被我们修改了,那么按照之前所说的,先add到暂存区,再commit到master分支
指令: 1.git add Readme
查一下:2.git status提示你,.git中的statge已被改变,需要commit到mater分支3.git commit -m "update Readme"
再查一下:4.git status
显示工作区和暂存区都无改动了
done
版本回退:
什么是版本回退?举几个栗子:
1.就像是你在烹饪一道复杂的菜肴时,突然发现自己加错了调料,然后决定“时光倒流”, 回到加调料前的那一刻,重新来过。
2.想象一下,你正在编写一个超级英雄的故事,你已经写到了“超级英雄打败了大反派,拯救了世界!”这一章。 但是,你突然意识到,在之前的某一章里,你给超级英雄加了一个奇怪的能力,比如“只剩一滴血也能重生”, 这个能力实在是太奇葩了,完全破坏了故事的整体氛围。 这时,Git版本回退就派上用场了。你可以使用Git的“时光机”(其实是一些命令), 回到那个添加奇怪能力的章节之前,然后就像那个能力从未存在过一样,继续你的创作
3.你正在准备毕业论文,第一版写完后交给老师,老师不满意,于是你哼哧哼哧的修改好了第二版论文, 此时你兴高采烈的又交给老师,老师说你的第二版论文格式有问题,内容也偏题了,回去重写,好吧, 于是你垂头丧气的又回去改了第三版论文交给老师,老师对着你说:"小明啊,你还是把第一版论文交给我吧, 你这几版还不如第一版呢!",你听到这话,心里非常庆幸,因为你将每一版论文都进行过备份,于是你找到 第一版备份交给了老师,成功通过,顺利毕业;
回归正题:
之前我们经常上面使用的Readme文件最开始只有一行内容"hello git!";add+commit之后,这就是第一版的Readme文件,之后我们又增加了一行内容"hello mygit!",add+commit之后就是第二版Readme文件
版本回退:指令:git reset [--soft] [--mixed] [--hard] [HARD]
注意:此处的[HARD]指的是git提交记录中用看标识提交ID的字符串哈希编码,如何查看HEAD?
前面提到过指令:git log --pretty=oneline
打印出来的左侧的字符串编码即是每次提交的HEAD
列个表格辅助理解:
首先,最后一版的Readme内容为"hello git!" 和"hello mygit"
reset命令不带选项默认为--mixed
版本回退实操:指令:1.查看一下git提交日志:git log --pretty=oneline2.根据HEAD选择要回退的版本
此处我选择回退至第一版,采用--hard选项
指令:git reset --hard d2c9915d4d2a5ca706c0e31de9df62a47796b944
回退之后,查一下git提交日志,显示如下:
此时Readme文件的内容被重置为原来的一行:"hello git!"
如果此时我们回退版本的时候,后悔了怎么办?
指令:
git reset --hard dfc471a62a287d4cfc27d3968fe104d03980b859
上述HEAD是我们最开始查日志的时候显示的最新一次提交的版本的字符串哈希值,如果你反悔了,在记得回退前的
版本的HEAD时,就可以使用上述指令撤销本次回退
如果你记不到HEAD了,git也是有后悔药可以吃的!
指令:git reflog
功能:查询更新前的git提交日志信息,其中有你日志更新前的所有版本提交的日志,其中有HEAD信息还有最左侧的部分信息
而部最左侧的信息也可以用来充当HEAD来进行撤销操作
撤销操作:
注意:这里说的撤销操作,只针对本地仓库,对于远端仓库不生效! 所以撤销操作的前提条件是:commit之后没进行push操作,这里的push操作暂不说明. 场景:当在某一个版本的基础上开发新的代码时,写了一坨之后,决定实在垃圾, 于是想撤销自己在当前版本之上写的所有代码时,就需要用到撤销操作。 撤销操作有三个场景,表格如下所示:
情况一:只更改了工作区的代码,其他区域未改变;
1.手动修改--代码量大的时候强烈不推荐!!
2.使用指令修改指令:git checkout -- 要撤销修改的文件
解释:一定要带上--俩个符号,表示撤销到最近一次更新的版本
情况2:修改了工作区代码后,又add到了暂存区中,但是版本库中未改变
方法1:使用reset指令 + hard选项指令:git reset --hard HEAD解释:HEAD-->直接写HEAD表示回退至当前版本,HEAD^表示上个版本,以此类推;
方法2:使用reset指令 + mixed选项指令:git reset --mixed HEAD此时又回到了情况一则:git checkout -- 要撤销修改的文件即可
情况3:工作区、暂存区、版本库中都被修改了
1.直接使用reset指令:指令:git reset --hard HEAD^或者:git reset --hard 字符串哈希值(先git log 查询一下哈希值)
删除文件:
1.假设删除了工作区的文件,例如rm file.txt 注意:删除也算工作区的变动,所以也要同步到暂存区和版本库 1.1:git add file.txt 1.2:git commit -m "delete file.txt" 2. git提供的删除命令 指令:git rm 要删除的文件名 再接着:git commit -m "delete file.txt"即可
相关文章:
Git版本控制系统---本地操作(万字详解!)
目录 git基本配置 认识工作区、暂存区、版本库 添加文件--情况一: 添加文件-情况二: 修改文件: 版本回退: git基本配置 1.初始化本地仓库,注意:一定要在一个目录下进行,一般都是新建一个文件夹,在文件…...
forge-1.21.x模组开发(二)给物品添加功能
功能效果 创建一个兑换券,当使用兑换券对着兑换机右键时,获得一条烤鱼 创建兑换券 创建ExchangeCouponsItem.java,继承Item,定义兑换券内容 public class ExchangeCouponsItem extends Item {public ExchangeCouponsItem(Prop…...
elasticsearch在windows上的配置
写在最前面: 上资源 第一步 解压: 第二步 配置两个环境变量 第三步 如果是其他资源需要将标蓝的文件中的内容加一句 xpack.security.enabled: false 不同版本的yaml文件可能配置不同,末尾加这个 xpack.security.enabled: true打开bin目…...
机器学习数学通关指南——拉格朗日乘子法
前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 一句话总结 拉格朗日乘子法…...
Matplotlib,Streamlit,Django大致介绍
Matplotlib:是一个用于创建各种类型的静态、动态和交互式图表的Python绘图库。可以通过pip install matplotlib命令进行安装,安装完成后,在Python脚本中使用import matplotlib语句导入即可开始使用。Streamlit:是一个用于快速构建…...
智慧废品回收小程序php+uniapp
废品回收小程序:数字化赋能环保,开启资源循环新时代 城市垃圾治理难题,废品回收小程序成破局关键 随着城市化进程加速与消费水平提升,我国生活垃圾总量逐年攀升,年均增速达5%-8%,其中超30%为可回收物。然…...
深搜专题2:组合问题
描述 组合问题就是从n个元素中抽出r个元素(不分顺序且r < = n), 我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。 例如n = 5 ,r = 3 ,所…...
Redis 如何实现消息队列?
在当今的分布式系统架构中,消息队列起着至关重要的作用,它能够帮助系统实现异步通信、解耦组件以及缓冲流量等功能。Redis,作为一款高性能的键值对存储数据库,也为我们提供了便捷的方式来构建消息队列。今天,咱们就深入…...
Day1 初识AndroidAudio
今日目标 搭建Android Audio开发环境理解音频基础概念实现第一个音频播放/录制Demo了解车载音频的特殊性 上午:环境搭建与理论学习 步骤1:开发环境配置 安装Android Studio(最新稳定版)创建新项目(选择Kotlin语言&a…...
2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)
🚀 2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)🚀 📚 目录 DeepSeek在保险与金融中的核心价值保险领域:从风险建模到产品创新金融领域:从投资分析到财富管理区块链与联邦学习的应用探索客户关系与私域运营:全球化体验升级工具与资源…...
YARN的工作机制及特性总结
YARN hadoop的资源管理调度平台(集群)——为用户程序提供运算资源的管理和调度 用户程序:如用户开发的一个MR程序 YARN有两类节点(服务进程): 1. resourcemanager 主节点master ----只需要1个来工作 2. nod…...
财务运营域——营收稽核系统设计
摘要 本文主要介绍了营收稽核系统的背景、特点与作用。营收稽核系统的产生源于营收管理复杂性、财务合规与审计需求、提升数据透明度与决策效率、防范舞弊与风险管理、技术进步与自动化需求、多元化业务模式以及跨部门协作与数据整合等多方面因素。其特点包括自动化与智能化、…...
22.回溯算法4
递增子序列 这里不能排序,因为数组的顺序是对结果有影响的,所以只能通过used数组来去重 class Solution { public:vector<int> path;vector<vector<int>> res;void backtracking(vector<int>& nums,int start){if(path.si…...
C#上位机--跳转语句
在 C# 编程中,跳转语句用于改变程序的执行流程。这些语句允许程序从当前位置跳转到其他位置,从而实现特定的逻辑控制。本文将详细介绍 C# 中四种常见的跳转语句:GOTO、Break、Continue 和 Return,并通过具体的示例代码来展示它们的…...
百度文心一言API-Python版(完整代码)
大家好啊!我是NiJiMingCheng 我的博客:NiJiMingCheng 上一节我们分享了实现AI智能回复微信的内容,这一节我们来探索其中需要的百度文心一言,本文详细介绍了我们从注册账号到实现百度文心一言智能回复,同时多种模型自行…...
Prompt:创造性的系统分析者
分享的提示词: 你是一个创造性的系统分析者,作为咨询师,你具有以下特质: 基础能力: 深入理解我的系统性模式 识别模式间的隐藏联系 发现出人意料的关联 提供令人惊讶的洞见 工作方式: 在每次回应中至少…...
单机上使用docker搭建minio集群
单机上使用docker搭建minio集群 1.集群安装1.1前提条件1.2步骤指南1.2.1安装 Docker 和 Docker Compose(如果尚未安装)1.2.2编写docker-compose文件1.2.3启动1.2.4访问 2.使用2.1 mc客户端安装2.2创建一个连接2.3简单使用下 这里在ubuntu上单机安装一个m…...
Bash Shell控制台终端命令合集
最近整理了一下Bash Shell终端的命令,以备后续查用。如下: 1.内建命令 命令描述&在后台启动作业((x))执行数学表达式x.在当前shell中读取并执行指定文件中的命令:什么都不做,始终成功退出[ t ]对条件表达式t进行求值[[ e ]]对条件表达式e进行求值alias为指定的命令定义…...
垂类大模型微调(一):认识LLaMA-Factory
LlamaFactory 是一个专注于 高效微调大型语言模型(LLMs) 的开源工具框架,尤其以支持 LLaMA(Meta 的大型语言模型系列)及其衍生模型(如 Chinese-LLaMA、Alpaca 等)而闻名。它的目标是简化模型微调流程,降低用户使用门槛; 官方文档 一、介绍 高效微调支持 支持多种微调…...
QString是 Qt 框架中的一个核心类,基本用法使用:创建、字符串拼接、截取、查找、替换、分割、大小写转换、比较。
QString 是 Qt 框架中的一个核心类,用于处理字符串数据。它提供了许多功能来处理文本操作,包括但不限于字符串拼接、分割、大小写转换等。下面是一些 QString 的常见用法示例: 创建 QString 你可以通过多种方式创建 QString 对象࿱…...
彻底卸载kubeadm安装的k8s集群
目录 一、删除资源 二、停止k8s服务 三、重置集群 四、卸载k8s安装包 五、清理残留文件和目录 六、删除k8s相关镜像 七、重启服务器 一、删除资源 # 删除集群中的所有资源,包括 Pod、Deployment、Service,任意节点执行 kubectl delete --all pod…...
边缘安全加速(ESA)套餐
为帮助不同规模和需求的企业选择合适的解决方案,边缘安全加速(ESA)提供了多种套餐。以下是四种主要套餐的介绍,每个套餐都根据企业需求提供不同的功能和服务水平,从基础安全保护到企业级的全面防护与加速。 1. 各版本详…...
MySQL主从服务器配置教程
文章目录 前言一、环境准备1. 服务器信息2. 安装 MySQL3. 初始化 MySQL4. Navicat查看 MySQL 服务器 二、主服务器(Master)配置1. 编辑 MySQL 配置文件2. 创建用于复制的用户3. 获取二进制日志信息 三、从服务器(Slave)配置1. 编辑…...
机器学习实战(7):聚类算法——发现数据中的隐藏模式
第7集:聚类算法——发现数据中的隐藏模式 在机器学习中,聚类(Clustering) 是一种无监督学习方法,用于发现数据中的隐藏模式或分组。与分类任务不同,聚类不需要标签,而是根据数据的相似性将其划…...
Visual Studio中打开多个项目
1) 找到解决方案窗口 2) 右键添加→ 选择现有项目 3) 选择.vcxproj文件打开即可...
springcloud gateway并发量多大
Spring Cloud Gateway的并发量并非固定值,它受到多种因素的影响,包括但不限于网关配置、硬件资源(如CPU、内存、网络带宽等)、后端服务的处理能力以及系统整体的架构设计。因此,要准确回答Spring Cloud Gateway的并发量…...
抓包工具 wireshark
1.什么是抓包工具 抓包工具是什么?-CSDN博客 2.wireshark的安装 【抓包工具】win 10 / win 11:WireShark 下载、安装、使用_windows抓包工具-CSDN博客 3.wireshark的基础操作 Wireshark零基础使用教程(超详细) - 元宇宙-Meta…...
git从本地其他设备上fetch分支
在 Git 中,如果你想从本地其他设备上获取分支,可以通过以下几种方式实现。不过,需要注意的是,Git 本身是分布式版本控制系统,通常我们是从远程仓库(如 GitHub、GitLab 等)拉取分支,而…...
Ubuntu:wvp-GB28181-pro安装、运行
参考 https://doc.wvp-pro.cn 下载源码 GitHub - 648540858/wvp-GB28181-pro: WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtm…...
docker中常用的命令
一、服务命令 systemctl start docker.service 启动docker服务 systemctl stop docker.service 关闭docker服务 systemctl enable docker.service 设置docker服务开机启动 systemctl disable docker.service .禁止docker服务开机自启动 二、镜像命令 d…...
如何实现使用DeepSeek的CV模型对管道内模糊、低光照或水渍干扰的图像进行去噪、超分辨率重建。...
要使用 DeepSeek 的 CV 模型对管道内模糊、低光照或水渍干扰的图像进行去噪、超分辨率重建,一般可以按照以下步骤实现: 1. 准备工作 1.1 获取 API 访问权限 首先,你需要从 DeepSeek 官方获取 API 访问权限和相应的 API 密钥。这通常需要在 De…...
Android 串口通信
引言 在iot项目中,Android 端总会有和硬件通信。 通信这里:串口通信,蓝牙通信或者局域网通信。 这里讲一下串口通信。 什么是串口? “串口”(Serial Port)通常是指一种用于与外部设备进行串行通信的接口。…...
智联招聘爬虫
使用Python和Selenium进行招聘信息爬取 在当今数字化时代,数据已成为企业决策的重要依据。对于人力资源部门或求职者而言,获取最新的招聘信息至关重要。然而,手动浏览和收集招聘信息不仅耗时费力,而且效率低下。为了解决这个问题&…...
frameworks 之 Focus window
frameworks 之 Focus window 1 查看当前焦点窗口1.1 dump window1.2 dump input1.3 input Events 日志1.4 dump SurfaceFlinger1.5 查看关键的日志 2 更新当前焦点应用3 更新当前焦点窗口3.1 焦点丢失3.2 获得窗口焦点 4 窗口信息到InputDispatcher4.1 焦点应用通知InputDispat…...
危害被低估的Netgear认证前漏洞CVE-2019-20760分析
概述 Netgear R9000设备2019年爆出认证绕过漏洞CVE-2019-20760,题目之所以说这个漏洞远被低估,主要以下两个原因: 实际漏洞危害较大,公开信息仅显示该漏洞为一个认证绕过漏洞,没有具体漏洞信息或者POC,但…...
微软量子芯片引领人工智能革命,开启计算新纪元
摘要:微软近日发布了具有里程碑意义的量子芯片,这一突破性技术不仅为量子计算带来了新的可能性,更为人工智能领域带来了前所未有的发展机遇。本文将探讨微软量子芯片如何与人工智能相结合,以及它对未来计算世界的深远影响。 一、…...
PHP2(WEB)
##解题思路 打开页面什么线索都没有,目录扫描只是扫出来一个index.php,而源代码没有东西,且/robots.txt是不允许访问的 于是一番查询后发现,有个index.phps的文件路径,里头写着一段php的逻辑,对url的id参数…...
Linux 下 VIM 编辑器学习记录:从基础到进阶(中)
在 Linux 系统的学习与实践过程中,对文件内容的查看是一项极为基础且高频的操作。熟练掌握各类内容查看命令,不仅能提升我们在 Linux 环境下的工作效率,对于学习 Java 全栈开发的同学来说,在处理项目相关的配置文件、日志文件时也…...
使用Python进行PDF隐私信息检测
在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要。本文将介绍如何使用Python及其相关库来检测PDF文件中的隐私信息,如姓名、身份证号、手机号和邮箱等。 C:\pythoncode\new\checkp…...
【Python爬虫(45)】Python爬虫新境界:分布式与大数据框架的融合之旅
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
网络安全科普系统开发与设计(springboot论文源码调试讲解)
第4章 总体设计 4.1系统目标 本系统旨在达到科普知识信息展示、案例分析信息查询、试题信息添加、评论、答题管理、信息分类等为一体,为用户和管理员提供服务。使管理员更加轻松的进行工作,使用户更加快速的解决自己的问题。本系统的设计界面丰富&#…...
前后端对接
前端与后端的对接主要通过 接口 进行数据交互,具体流程和方式如下: 1. 明确需求与接口定义 前后端协商:确定需要哪些接口、接口的功能、请求参数和返回格式。接口文档:使用工具(如 Swagger、Postman、Apifoxÿ…...
深入浅出 SQLSugar:快速掌握高效 .NET ORM 框架
SQLSugar 是一个高效、易用的 .NET ORM 框架,支持多种数据库(如 SQL Server、MySQL、PostgreSQL 等)。它提供了丰富的功能,包括 CRUD 操作、事务管理、动态表名、多表联查等,开发者可以通过简单的链式操作实现复杂的数…...
计算机专业知识【深入理解子网中的特殊地址:为何 192.168.0.1 和 192.168.0.255 不能随意分配】
在计算机网络的世界里,IP 地址是设备进行通信的关键标识。对于常见的子网,如 192.168.0.0/24,我们可能会疑惑为何某些地址不能分配给主机使用。接下来,我们就以 192.168.0.0/24 为例,详细解释为何 192.168.0.1 和 192.…...
网络安全与措施
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 # 网络安全问题概述 1) 数据安全 访问(授权访问);存储(容灾、备份或异地备份等) 2) 应用程序 不能…...
复刻Dummy机械臂保姆教程
一直想复刻稚晖君的Dummy机械臂,24年11月底终于开始行动,上网学习、材料准备、组装调试前后耗时1个多月,终于在春节前顺利完工,正好用它给大家拜个年。很多同学在咨询细节,这里就整理一份保姆式教程,其中学…...
|网络安全|网络安全学习方法
1、先网络后安全 很多初学者还没搞定网络看懂网络拓扑,就急着研究防火墙或VPN,其实这样就不清楚整个网络架构是如何安全演进的。正确的流程是:先通过网络协议和拓扑设计的学习,能独立搭建一个企业网/校园网,再引入局域…...
内外网隔离文件传输解决方案|系统与钉钉集成+等保合规,安全提升70%
一、背景与痛点 在内外网隔离的企业网络环境中,员工与外部协作伙伴(如钉钉用户)的文件传输面临以下挑战: 1. **安全性风险**:内外网直连可能导致病毒传播、数据泄露。 2. **操作繁琐**:传统方式需频繁切…...
EasyRTC:轻量化SDK赋能嵌入式设备,开启智能硬件音视频通讯新篇章
在智能硬件与物联网飞速发展的今天,嵌入式设备的音视频通讯能力正变得愈发重要。然而,受限于硬件资源,尤其是Flash存储空间的不足,传统音视频通讯方案往往难以在嵌入式设备上实现高效集成。EasyRTC凭借其轻量级SDK和先进的技术架构…...
如何使用3D高斯分布进行环境建模
使用3D高斯分布来实现建模,主要是通过高斯分布的概率特性来描述空间中每个点的几何位置和不确定性。具体来说,3D高斯分布被用来表示点云数据中的每一个点或体素(voxel)的空间分布和不确定性,而不是单纯地存储每个点的坐…...