news 2026/3/31 19:59:52

<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/3/27 6:41:17

<span class=“js_title_inner“>忽如一夜春风来丨2024年总结</span>

时间过得飞快,转眼一年。今年发生了很多事情,过程并没有太多波澜。但事后回看,正是这些看似平淡的决定,将对以后产生深远的影响。我换了城市。今年我把工作从北京换到了杭州,彻底离开待了近10年的北京,在杭…

作者头像 李华
网站建设 2026/3/29 6:32:10

养猪场屠宰场猪瘟检测仪 非洲猪瘟荧光定量pcr仪

Q1:这款非洲猪瘟检测仪的核心定位是什么?与普通检测设备相比有何专属优势?A:核心定位是“养猪场专用非洲猪瘟精准快速检测终端”,聚焦养猪场防疫检测核心需求,主打“快、准、稳”三大核心特质,是…

作者头像 李华
网站建设 2026/3/31 20:57:27

禽类疫病检测仪 动物疫病检测仪 鱼虾病毒检测仪

Q1:禽类疫病检测仪的核心定位是什么?与传统疫病检测设备相比有何优势?A:核心定位是“全品类动物疫病精准检测终端”,主打“全覆盖、高精度、易操作、稳运行”,聚焦动物体液、组织样本中病原体核酸的精准检测…

作者头像 李华
网站建设 2026/3/27 20:31:55

<span class=“js_title_inner“>美国交通部:先进空中交通综合规划——推动美国先进空中交通走向成熟(英) 2025</span>

划由美国交通部先进空中交通跨机构工作组(AAM IWG)于 2025 年 12 月发布,旨在推动美国先进空中交通(AAM)从早期部署迈向成熟、规模化且智能整合的系统,核心围绕技术成熟度、政策制定、社区参与及规划与劳动…

作者头像 李华