IAR 项目的典型 gitignore 文件

Typical gitignore files for IAR project

我正在处理 IAR 项目,我的问题是 IAR 项目中的哪个文件可以被 git 存储库忽略。 git 日志中所有项目设置文件和源文件混合在一起非常无聊,不利于版本控制,谁能给个好的建议?

万分感谢。

我通常会忽略除 *.ewp*.eww 文件之外的所有文件。 ewp 文件包含编译项目的所有信息,所有相关文件都用于调试器设置(您可能需要,我相信它是 ewd 文件)和解析数据库(用于 "go to definition" 链接)。我将 eww 文件保留在版本控制中,因为我通常将多个项目作为工作区的一部分,并且我使用批处理构建功能,所有这些都存储在工作区文件中。与工作区关联的其他文件包含有关 windows 大小的信息,并且不是必需的。

还相对于项目文件存储了输出。我通常对 *.out 文件进行版本控制,因为它将包含调试信息以及使用的任何其他格式(srecord、二进制、Intel 十六进制),默认情况下都在配置 Exe 目录中。我还控制 *.map 文件,该文件是可选生成的,默认情况下位于配置 Lst 目录中。在 out 文件和 map 文件之间,这为您提供了调试问题所需的内容(out 文件与源代码相结合),或者如果您有规定,通过访问内存(map 文件以了解数据的存储位置) .

我不建议将任何已编译的二进制文件置于源代码管理之下。以下是直接来自 IAR 的指南:Technical Note "IAR Embedded Workbench files to be version controlled"

这不是一个完整的列表,但下面是我遇到的一些扩展,放在 .gitignore 中(我在同一个 repo 中有多个 IAR 项目,所以我需要使用 ** 通配符)。另外,一定要使用常规的 C/C++ 忽略扩展。

# IAR Settings  
**/settings/*.crun  
**/settings/*.dbgdt  
**/settings/*.cspy  
**/settings/*.cspy.*  
**/settings/*.xcl  
**/settings/*.dni  
**/settings/*.wsdt  
**/settings/*.wspos  

# IAR Debug Exe  
**/Exe/*.sim  

# IAR Debug Obj  
**/Obj/*.pbd  
**/Obj/*.pbd.*  
**/Obj/*.pbi  
**/Obj/*.pbi.*