绝大多数嵌入式新手难以掌握 Git,核心原因是:网络公开教程大多基于互联网业务场景,理论繁杂、分支模型冗余、概念晦涩,完全不适配嵌入式固件开发的工程特性。
嵌入式工程师无需掌握全套 Git 语法,只需吃透「嵌入式专用极简工作流」,即可覆盖个人开发、团队协作、硬件迭代、量产溯源等全部工作场景。
1. 嵌入式 Git 核心作用(只需记 3 点)
在嵌入式固件开发中,Git 仅聚焦解决三大核心工程问题,精准解决行业痛点:
-
替代野蛮文件夹备份:彻底摒弃 v1、v2、最终版、修复版 等人工文件夹备份方式,统一标准化版本留存。
-
支持代码精准回溯:代码改错、逻辑写乱、功能调试失败时,可一键回滚至任意稳定版本,杜绝代码丢失。
-
实现多人安全协作:多人并行开发驱动、协议、业务逻辑,避免代码互相覆盖、文件冲突、开发成果丢失,全程可追溯。
核心思想一句话:代码迭代可留存、稳定版本可回溯、编译垃圾不上库、硬件版本可隔离。
2. 新手必备 5 条核心命令(覆盖 99% 日常开发)
无需记忆繁杂命令,嵌入式日常开发、迭代、同步、上传,仅需掌握以下 5 个核心操作:
-
git pull:拉取云端仓库最新代码,同步团队迭代进度,保证本地代码基线最新。
-
git add:精准选中本次修改的代码文件,按需提交,杜绝无效文件入库。
-
git commit:在本地仓库固化本次代码修改,填写规范备注,留存迭代记录。
-
git push:将本地自测完成的稳定修改,同步上传至云端远程仓库。
-
git checkout:切换已有分支、新建独立开发分支,实现代码版本隔离。
3. 新项目首次 Git 初始化(傻瓜式全流程)
针对已有 Keil / IAR / STM32CubeMX 固件工程,首次接入 Git 必须严格遵循以下标准化流程,一次配置、永久生效,从源头杜绝版本混乱。
步骤1:清理工程垃圾(新手最关键步骤)
手动清空工程目录内所有自动生成的编译产物、缓存文件与临时文件:Debug、Release、Build、Output、*.bin、*.hex、*.o、*.d 等。
核心原则:所有编译产物、缓存文件、临时配置文件,绝对不允许提交至 Git 仓库。
步骤2:配置忽略文件 .gitignore
在工程根目录新建 .gitignore 配置文件,粘贴本文后续提供的嵌入式专属量产规则,自动过滤所有工程垃圾文件,无需人工反复清理。
步骤3:初始化本地仓库
bash
git init
git config user.name "你的名称"
git config user.email "你的邮箱"
步骤4:首次提交完整工程
cpp
git add .
git commit -m "初始工程:纯净固件代码入库"
步骤5:绑定云端仓库(Gitee/GitHub)
cpp
git remote add origin 你的远程仓库地址
git push origin master
4. 日常开发固定工作流(每日复用)
项目初始化完成后,所有新增功能、代码优化、BUG 修改,统一遵循固定开发流程,彻底杜绝版本错乱、代码覆盖等问题:
cpp
# 1. 开工前同步云端最新代码
git pull
# 2. 编写功能、编译调试、烧录验证、功能自测
# 3. 精准提交修改(新手严禁直接使用 git add .)
git add 改动的.c .h文件
# 4. 规范备注,固化本次修改记录
git commit -m "[模块] 新增/优化/修复具体功能"
# 5. 上传稳定代码至云端仓库
git push
5. 新手救命操作:代码改错一键还原
本地代码逻辑写乱、改错、调试异常、无法复原时,可一键清空所有未上传的本地改动,恢复稳定版本:
cpp
git reset --hard HEAD
该命令仅重置本地未提交内容,不会影响云端代码,安全无风险,是嵌入式开发最常用的容错操作。
6. 新手绝对红线(杜绝毁项目)
新手开发必须严格遵守三条底线,违规极易造成仓库崩溃、代码丢失、量产事故:
-
禁止上传 bin / hex / elf / map 等二进制固件文件,此类文件无法对比合并,会导致仓库臃肿失控。
-
禁止随意执行
git push -f强制推送,极易覆盖团队远程代码,造成不可逆丢失。 -
禁止在主分支直接开发新功能、修改业务代码,污染量产稳定基线。
至此,新手可独立完成嵌入式项目 Git 日常使用,完全满足个人开发、小型团队协作的基础需求。