
016 Git版本控制与协作开发流程一个让我熬夜到凌晨三点的.gitignore去年做一款基于STM32U5的TinyML手势识别项目,团队四个人,代码库从第一天就开始膨胀。第三天晚上,我习惯性git push,然后去睡觉。凌晨三点被手机震醒——同事在群里@我:“你push了个啥?编译不过了。”我迷迷糊糊打开电脑,发现.bin文件、编译中间产物、甚至Keil的临时工程文件全被推上去了。仓库体积从3MB暴涨到800MB。更致命的是,同事拉下来后,他的本地环境配置被我的.uvoptx覆盖了,工程路径全乱套。那晚我蹲在阳台抽了半包烟,想明白一件事:嵌入式TinyML项目的Git管理,和纯软件项目完全是两码事。硬件依赖、编译器差异、模型文件版本、数据集管理——任何一个环节出问题,都能让团队原地爆炸。嵌入式项目的.gitignore,别抄网上的模板网上搜到的.gitignore模板,十有八九是给Web项目用的。嵌入式项目有自己的“脏东西”:# 编译产物 - 这些是每个开发者本地生成的,别提交 *.o *.d *.hex *.bin *.elf *.map *.out # IDE配置文件 - 这里踩过坑,不同人的Keil版本不一样 *.uvoptx # 别提交!这玩意儿包含本地路径和调