嵌入式开发中的Git Commit可要好写了~

strongerHuang 2025-07-28 08:20
转自 | 嵌入式情报局

在我们进行嵌入式软件开发过程中,Git已成为团队协作的核心基础设施。然而,随意的提交信息(如git commit -m "fix bug!")常导致历史追溯困难、协作效率低下。这里小哥将介绍一下结构化Commit规范的落地实践,通过配置模板、规范字段和可视化操作,显著提升代码库的可维护性。


一、问题背景:为何需要Commit规范?

  1. 信息缺失痛点
    简短的单行Commit仅能描述“修改了什么”,无法体现:

  • 团队协作成本
    据不完全统计,开发者平均花费15%时间追溯代码历史。混乱的提交记录会导致:

  • 所以Commit规范对于工程项目确实非常重要的,那我们该如何做呢?


    二、Commit规范模板设计

    以下是小哥觉得也是正在用的一些字段及说明:

    字段
    必填
    说明与示例
    类型
    feat
    (新增功能) / fix(修复bug) / refactor(重构) / docs(文档)等
    主题
    不超过50字的摘要,如:feat: 添加CAN总线超时重传机制
    修改内容
    具体修改位置:drivers/can/can_core.c中增加retry_counter字段
    影响范围
    关联模块:影响can_parser和can_monitor模块的初始化流程
    自测情况
    验证方式:通过can_unit_test验证100次重传成功率100%
    相关链接
    需求/Bug链接:JIRA: EMB-2075

    模板文件示例(保存为 ~/.git_commit_example):

    <类型>: <主题>
    修改内容:
    影响范围:
    自测情况:
    相关链接:


    三、配置与使用

    3.1 模板配置
    # 全局配置(推荐)
    git config --global commit.template ~/.git_commit_example

    # 单仓库配置
    cd 到对应路径
    git config commit.example ~/.git_commit_example
    3.2 编辑器设置
    # 全局默认编辑器
    git config --global core.editor vim
    3.3 提交流程
    1. 添加修改到暂存区
      git add drivers/can/can_core.c

    2. 触发模板编辑
      git commit → 自动加载模板文件
      此时Vim打开模板界面:

    3. 填写规范信息

      fix: 修复CAN总线数据校验位错误
      修改内容:can_core.c第203行修改校验算法
      影响范围:所有依赖CAN驱动的模块
      自测情况:通过硬件回环测试2000帧数据
      相关链接:BUG#EMB-3056

    这样后续就可以通过类型过滤git log --grep="^feat" 快速筛选功能提交。

    Commit规范绝非形式主义,而是工程效率的杠杆支点。

    ------------ END ------------

    资讯配图

    程序员编程最难过的几个阶段!

    资讯配图

    单片机常用状态机QP框架的原理

    资讯配图

    单片机OTA传输协议深入分析

    声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
    嵌入式
    more
    嵌入式内存有了新选择
    最近,嵌入式的招聘市场已经疯掉了。。。
    嵌入式代码中内联函数与宏的区别
    电子与嵌入式技术年度大展(深圳)观众登记倒计时
    聚焦AI新赛道,elexcon深圳国际电子展暨嵌入式展设 AI 机器人专区
    嵌入式Linux快速入门系统教程(一):拆解核心概念
    嵌入式C语言中void类型指针的妙用
    面对复杂的嵌入式开发,你做过HAL设计吗
    观众登记倒计时|电子与嵌入式年度大展8月26日开幕!热门展品和演讲人抢先看
    嵌入式Linux快速入门系统教程(二):用 Buildroot 构建 Linux 系统
    Copyright © 2025 成都区角科技有限公司
    蜀ICP备2025143415号-1
      
    川公网安备51015602001305号