git管理时keil项目忽略文件列表

server/2025/3/29 3:12:37/

在使用 Git 管理 Keil MDK(μVision 5)工程时,需要忽略编译生成的临时文件、调试文件、用户配置等非必要内容。以下是忽略文件的详细列表及说明,可直接保存为 .gitignore 文件:


gitignore__4">Keil MDK 工程的 .gitignore 文件

gitignore

# ------------------------------
# Keil MDK 工程专用忽略规则
# ------------------------------# --- 工程文件与配置 ---
*.uvoptx          # 用户工程选项文件(包含本地调试配置,建议忽略)
*.uvguix.*        # 用户界面布局文件(如窗口位置等,需忽略)
*.bak             # 备份文件(如工程文件自动备份)
*.crf             # 交叉引用文件(编译生成)
*.d               # 依赖文件(编译生成)# --- 编译输出文件 ---
*.o               # 目标文件(编译生成)
*.obj             # 目标文件(Windows 风格)
*.axf             # ELF 格式可执行文件(含调试信息)
*.hex             # HEX 烧录文件
*.bin             # 二进制镜像文件
*.map             # 内存映射文件(链接生成)
*.lst             # 汇编列表文件(编译生成)# --- 构建目录 ---
MDK-ARM/          # Keil 默认构建输出目录(包含中间文件)
Objects/          # 自定义目标文件目录(如有)
Listings/         # 自定义列表文件目录(如有)# --- 调试与临时文件 ---
*.ini             # 调试脚本(可能包含本地硬件配置)
*.log             # 编译日志文件
*.dbg             # 调试信息临时文件
*.cdb             # 调试配置数据库
*.tracespec       # Trace 调试配置文件# --- IDE 自动生成文件 ---
*.uvmpw           # 多项目工作区文件(如有)
*.dep             # 旧版本依赖文件
*.plg             # 编译过程日志文件
*.jlink           # J-Link 调试脚本(本地配置)# --- 其他临时文件 ---
*.~*              # 编辑器临时文件(如 Keil 自动保存)
*.tmp             # 临时文件
build/            # 自定义构建目录(如有)# ------------------------------
# 通用忽略规则(补充)
# ------------------------------
*.user            # 用户工具链配置(如 VS Code 等)
.vscode/          # VS Code 配置目录(如使用其他编辑器)
.idea/            # JetBrains IDE 配置目录
.DS_Store         # macOS 系统文件
Thumbs.db         # Windows 缩略图缓存

关键忽略项说明

  1. \*.uvoptx\*.uvguix.\*
    • 包含用户本地配置(如调试器设置、窗口布局),不同开发者环境不同,必须忽略
    • 保留 .uvprojx(工程主文件),需提交以维护项目结构。
  2. 编译输出文件(\*.o\*.axf\*.hex 等)
    • 由工具链自动生成,提交会导致仓库臃肿且可能冲突。
  3. 构建目录(MDK-ARM/Objects/
    • 默认存放中间文件,无版本控制必要。
  4. 调试文件(\*.ini\*.cdb
    • 可能包含硬件调试器路径、本地 IP 地址等敏感或环境相关配置。
  5. 编辑器临时文件(\*.~\*.vscode/
    • 防止编辑器缓存或配置污染仓库。

建议保留的文件

  • 必须提交
    • .uvprojx(项目主文件)
    • .c/.cpp/.h(源码和头文件)
    • .s(汇编文件,如启动文件)
    • .sct(分散加载文件,定义内存布局)
    • 第三方库源码(若未通过 Pack Installer 安装)
  • 可选提交
    • .map(用于分析代码内存占用,但通常临时生成)
    • .lib(自研静态库,若需共享)

扩展建议

  • 使用 git-lfs 管理大型文件
    如果工程包含大型二进制文件(如固件镜像),可通过 Git LFS 管理。
  • 版本化 sct 文件
    确保分散加载文件(内存分配)与代码同步更新。
  • 文档化环境依赖
    README.md 中说明需安装的 Keil Pack 组件(如 STM32xx_DFP)。

通过合理配置 .gitignore,可保持仓库精简且跨环境兼容。


http://www.ppmy.cn/server/179080.html

相关文章

Linux第九讲:动静态库

Linux第九讲:动静态库 1.静态库的制作 && 什么是库1.1静态库生成 2.动态库2.1动态库生成2.2静态链接和动态链接的区别2.3解决策略2.3.1将我们写的动态库拷贝至系统2.3.2建立软链接2.3.3LD_LIBRARY_PATH2.3.4ldconfig方案:配置/etc/ld.so.conf.d/…

HTTP长连接与短连接的前世今生

HTTP长连接与短连接的前世今生 大家好!作为一名在互联网摸爬滚打多年的开发者,今天想跟大家聊聊HTTP中的长连接和短连接这个话题。 记得我刚入行时,对这些概念一头雾水,希望这篇文章能帮助新入行的朋友少走些弯路。 什么是HTTP…

基于深度学习的行人人脸识别系统的设计与实现

标题:基于深度学习的行人人脸识别系统的设计与实现 内容:1.摘要 随着安防、智能监控等领域的快速发展,行人人脸识别技术的需求日益增长。本研究旨在设计并实现一个基于深度学习的行人人脸识别系统。采用先进的深度学习算法,如卷积神经网络(C…

uniapp笔记-swiper组件实现轮播图

思路 主要就是参考 swiper | uni-app官网 实现轮播图。 实例 新建一个banner.vue通用组件。 代码如下&#xff1a; <template><view>轮播图</view> </template><script> </script><style> </style> 随后在index.vue中导…

Android Compose 线性布局(Row、Column)源码深度剖析(十)

Android Compose 线性布局&#xff08;Row、Column&#xff09;源码深度剖析 一、引言 在 Android 应用开发的领域中&#xff0c;UI 布局是构建用户界面的核心工作之一。良好的布局设计不仅能提升用户体验&#xff0c;还能使应用在不同设备上保持一致的视觉效果。随着 Androi…

【linux】ubuntu 用户管理

目录 一、用户基本命令 1.1 添加新用户 1.2 切换用户 1.3 删除用户 1.4 修改用户密码 1.5 用户组的新建和删除 二、用户相关的文件 三、sudo权限的授权 3.1 sudo权限的授权 3.2 问题&#xff1a;sudo和su命令不能使用。 3.3 可以试试强制切换root。但是需要sudo可以…

第三章 | 初识 Solidity:开发环境搭建 第一个智能合约{介绍篇}

&#x1f4da; 第三章 | 初识 Solidity&#xff1a;开发环境搭建 & 第一个智能合约 ——从写下第一行代码&#xff0c;开启智能合约开发之旅&#xff01; ✅ 本章导读 前两章我们讲清了区块链和智能合约的基础原理&#xff0c;现在—— 是时候动手实战&#xff01; 你将完…

开发中常用的设计模式 用法及注意事项【面试题】

常见的设计模式&#xff1a;单例模式、工厂模式、观察者模式、发布-订阅模式、装饰器模式、策略模式、代理模式、模块模式等 React中的高阶组件&#xff08;装饰器模式&#xff09;、Vue的事件总线&#xff08;发布-订阅模式&#xff09; 一、 单例模式 (Singleton) 用途&…