news 2026/2/2 17:43:46

<span class=“js_title_inner“>git 使用遇到的小坑,你踩了吗?</span>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
<span class=“js_title_inner“>git 使用遇到的小坑,你踩了吗?</span>

来源:公众号【鱼鹰谈单片机】

作者:鱼鹰Osprey

ID :emOsprey

大家好,我是鱼鹰。最近鱼鹰遇到一个比较奇葩的事情,聊聊,让大家避避坑。

鱼鹰在 yocto 下编译的 STM32H7 程序升级到机器上时,SPI 通信异常,在两个同事电脑上编译的运行正常,不过没有使用 yocto 编译环境。

这让鱼鹰很纳闷,一时半会没明白为什么。

使用 git log 对比了主仓库节点、子仓库节点,都是一样的。

没道理......

于是鱼鹰想从 map 和 bin 文件入手,对比差异,发现两个 bin 和 map 差异比较大,不太好比较。

因为如果交叉编译工具链和有些文件的特性(如添加编译时间)确实会导致 map 和 bin 有些差异。

实在没办法,只能上调试工具了。

自己的坑,无论如何也要填上。

事实证明,在线调试永远是第一开发利器(不接受反驳)。除了搭建调试环境废了一点时间,定位问题只花了几分钟就搞定了。

调试发现,spi 相关的函数被我以前因为某种原因屏蔽了。另外还有几个文件都有修改,因此导致最终的 bin 文件功能不正常。

当时鱼鹰在查看节点时,只看了 git log 的信息,主仓库因为使用 vscode 可以很好的查看仓库的文件修改情况,但是子仓库却没那么容易,特别是这个子仓库和主仓库属于同一级目录。

因此如果当时查看模块时,能使用 git status 确认就不会遇到这个坑了。

其实这个坑很早就埋下了,鱼鹰在更新子仓库时,使用的是 git pull 命令, 这个命令可以拉取库上最新的提交代码,如果你没在当前分支提交任何内容,只是保持和远端提交一致的话,即使你工作空间的文件有改动,也不会有任何提示,从 git log 看就是拉取远程代码正常,节点正常。

这个特性可以在我们修改一些代码时,不需要特意暂存这些修改,方便开发,但如果像鱼鹰一样疏忽大意,只看节点(git log),不看状态(git status)的话,就会踩坑。

希望鱼鹰本次踩坑经验对大家有所帮助。下次再见。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/2 17:40:06

<span class=“js_title_inner“>AI那些趣事系列111:谷歌新范式Nested Learning:让AI告别“顺行性遗忘”,像人类一样日积月累地学习</span>

导读:本文是“数据拾光者”专栏的第一百一十一篇文章,这个系列将介绍在AI领域中的一些学习和思考,以及实战中的经验教训总结。本文将用通俗的语言、生动的例子,学习谷歌最新的论文Nested Learning。欢迎转载,转载请注明…

作者头像 李华
网站建设 2026/2/2 17:34:28

GBase 8c用户、角色、权限体系详解

一、核心概念定义1.用户(User)定义:数据库的认证实体,用于登录数据库和执行操作特性:必须有唯一用户名可设置密码、有效期、资源限制可被授予角色或直接拥有权限2.角色(Role)定义:权…

作者头像 李华
网站建设 2026/2/2 17:34:12

如何选择EOR名义雇主服务,2026年最佳推荐榜单,全方位提升企业用工效率

在当今全球化的商界中,EOR名义雇主服务提供了企业用工的灵活性和高效性。企业通过这种服务,可以在不同国家雇佣员工,同时避免复杂的法律纠纷和合规问题。EOR名义雇主模式使企业能够将人力资源管理、薪资发放、税务处理等工作外包给专业公司&a…

作者头像 李华
网站建设 2026/2/2 17:31:21

java小区停车位管理系统毕业论文+PPT(附源代码+演示视频)

文章目录一、项目简介1.1 运行视频1.2 🚀 项目技术栈1.3 ✅ 环境要求说明1.4 包含的文件列表前台运行截图后台运行截图项目部署源码下载一、项目简介 项目基于SpringBoot框架,前后端分离架构,后端为SpringBoot前端Vue。随着城市化进程的加快…

作者头像 李华