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

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


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.mzph.cn/diannao/74248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#单例模式

单例模式 (Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化对个对象,一个最好的办法就是,让类自身负责保护它的唯一实例。这个类可以保证没…

ZYNQ的cache原理与一致性操作

在Xilinx Zynq SoC中,Cache管理是确保处理器与外部设备(如FPGA逻辑、DMA控制器)之间数据一致性的关键。Zynq的ARM Cortex-A9处理器包含L1 Cache(指令/数据)和L2 Cache,其刷新(Flush/Invalidate&…

Linux NFS、自动挂载与系统启动管理指南

1. NFS客户端挂载导出的目录的方式 NFS(网络文件系统) 允许将远程服务器的目录挂载到本地,像访问本地文件一样操作远程文件。挂载方式主要有两种: 手动挂载:使用 mount 命令(临时生效,重启后丢…

NO.55十六届蓝桥杯备战|排序|插入|选择|冒泡|堆|快速|归并(C++)

插⼊排序 插⼊排序(Insertion Sort)类似于玩扑克牌插牌过程&#xff0c;每次将⼀个待排序的元素按照其关键字⼤⼩插⼊到前⾯已排好序的序列中&#xff0c;按照该种⽅式将所有元素全部插⼊完成即可 #include <iostream> using namespace std; const int N 1e5 10; …

【Oracle资源损坏类故障】:详细了解坏块

目录 1、物理坏块与逻辑坏块 1.1、物理坏块 1.2、逻辑坏块 2、两个坏块相关的参数 2.1、db_block_checksum 2.2、db_block_checking 3、检测坏块 3.1、告警日志 3.2、RMAN 3.3、ANALYZE 3.4、数据字典 3.5、DBVERIFY 4、修复坏块 4.1、RMAN修复 4.2、DBMS_REPA…

计算机网络高频(二)TCP/IP基础

计算机网络高频(二)TCP/IP基础 1.什么是TCP/IP⭐⭐ TCP/IP是一种网络通信协议,它是互联网中最常用的协议之一。TCP/IP有两个基本的协议:TCP(传输控制协议)和IP(互联网协议)。 TCP(Transmission Control Protocol,传输控制协议)是一种可靠的、面向连接的协议。它负…

【大模型算法工程】大模型应用工具化、忠诚度以及知识库场景下PDF双栏解析问题的讨论

1. 大模型时代应用工具化以及无忠诚度现象讨论 接触大模型久了&#xff0c;也慢慢探到一些大模型能力表现非常自然和突出的场景&#xff0c;比如AI搜索&#xff08;依赖大模型的理解总结能力&#xff09;、AI对话&#xff08;即chat&#xff0c;依赖大模型的生成能力&#xff0…

Java EE(13)——网络编程——UDP/TCP回显服务器

前言 本文主要介绍UDP和TCP相关的API&#xff0c;并且基于这两套API实现回显服务器 UDP和TCP UDP和TCP属于网络五层模型中传输层的协议 特点&#xff1a; UDP&#xff1a;无连接&#xff0c;不可靠&#xff0c;面向数据包&#xff0c;全双工 TCP&#xff1a;有连接&#xff…

【蓝桥杯】12111暖气冰场(多源BFS 或者 二分)

思路 这题可以用BFS做&#xff0c;也可以用二分来做。 用二分这里只提供一个思路&#xff1a;对时间来二分查找&#xff0c;check函数就是检查在特定的时间 t 0 t_0 t0​内每一个暖气炉的传播距离能否覆盖所有格子。 用BFS做&#xff1a; 由几个点开始向外扩散&#xff0c;知道…

使用bat批量获取WORD中包含对应字符的段落,段落使用回车换行

get_word_paragraphs.vbs 获取命令行参数 If WScript.Arguments.Count 0 ThenWScript.Quit 1 End If 获取 Word 文档路径 docPath WScript.Arguments(0) 创建 Word 应用程序对象 Set objWord CreateObject("Word.Application") objWord.Visible False 打开 Word …

DeepSeek自学手册:《从理论(模型训练)到实践(模型应用)》|73页|附PPT下载方法

导 读INTRODUCTION 今天分享是由ai呀蔡蔡团队带来的DeepSeek自学手册&#xff1a;《从理论&#xff08;模型训练&#xff09;到实践&#xff08;模型应用&#xff09;》&#xff0c;这是一篇关于DeepSeek模型训练、应用场景及替代方案的综合指南文章&#xff0c;主要介绍了Deep…

WEB API 设计规范

REST API 简介 REST 是 Representational State Transfer 的缩写&#xff0c;它将资源作为核心概念&#xff0c;通过 HTTP 方法对资源进行操作。其本身是一套围绕资源进行操作的架构规范。在实际应用中&#xff0c;更多的是体现在 API 的设计上。 企业在进行产品设计开发时&a…

QT软件匠心开发,塑造卓越设计服务

在当今这个数字化飞速发展的时代&#xff0c;软件已经成为我们生活中不可或缺的一部分。而QT&#xff0c;作为一款跨平台的C图形用户界面应用程序开发框架&#xff0c;凭借其强大的功能和灵活性&#xff0c;在众多软件开发工具中脱颖而出。我们深知&#xff0c;在软件开发领域&…

标贝科技入选2025年市级数据要素市场化配置改革“揭榜挂帅”名单

近日&#xff0c;山东省大数据局、青岛市大数据局公布2025年数据要素市场化配置改革“揭榜挂帅”名单。标贝科技联合崂山区电子政务和大数据中心申报的“政务热线通话录音数据价值挖掘与权益保护”项目成功入选。这一成果不仅彰显了标贝科技在数据领域的创新实力&#xff0c;更…

Flutter TextField 从入门到精通:掌握输入框的完整指南

目录 1. 引言 2. TextField 的基本用法 3. 主要属性 4. 自定义 TextField 样式 4.1 自定义边框与提示文本 4.2 增加前缀/后缀图标 4.3 只允许输入数字 4.4 表单验证系统 4.5 动态样式修改 4.6 防抖搜索&#xff08;Debounce&#xff09; 5. 结论 相关推荐 1. 引言…

蓝桥杯备赛 背包问题

背包问题 ![[背包问题.png]] 01背包 1.题意概要&#xff1a;有 n n n个物品和一个容量为 V V V的背包&#xff0c;每个物品有重量 w i w_i wi​和价值 v i v_i vi​ 两种属性&#xff0c;要求选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容…

MyBatis-Plus 自动填充:优雅实现创建/更新时间自动更新!

目录 一、什么是 MyBatis-Plus 自动填充&#xff1f; &#x1f914;二、自动填充的原理 ⚙️三、实际例子&#xff1a;创建时间和更新时间字段自动填充 ⏰四、注意事项 ⚠️五、总结 &#x1f389; &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢…

arduino R4 SD卡读写测试

使用买来的 st7789LCD 显示器背面就带着一个 tf 卡槽&#xff0c;可以直接连接 tf 卡。使用 Sdfat 库就可以实现对 sd 卡的读写操作。这里尝试测试 sd 卡的读写功能。 LCD 显示器的初始化 //定义LCD的对象 Adafruit_ST7789 tft Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);tf…

【武汉·4月11日】Parasoft联合光庭信息研讨会|邀您共探AI赋能新机遇

Parasoft联合光庭信息Workshop邀您共探AI赋能新机遇 AI浪潮已至&#xff0c;你准备好了吗&#xff1f; 在智能网联汽车飞速发展的今天&#xff0c;AI技术正以前所未有的速度重塑行业生态。如何把握AI机遇&#xff0c;赋能企业创新&#xff1f; 4月11日&#xff0c;自动化软件…

VLLM专题(三十九)—自动前缀缓存(二)

前缀缓存(Prefix Caching)是一种在LLM推理中广泛使用的优化技术,旨在避免冗余的提示词(prompt)计算。其核心思想很简单——我们缓存已处理请求的键值缓存(kv-cache)块,并在新请求的前缀与之前请求相同时重用这些块。由于前缀缓存几乎是一种“免费的午餐”,并且不会改变…