我正在研究IAR项目,我的问题是git存储库可以忽略IAR项目中的哪个文件。 在git日志中混合在一起的所有项目设置文件和源文件都很无聊,不适合版本控制,有人能提出好的建议吗?
万分感谢。
答案 0 :(得分:2)
我不建议将任何已编译的二进制文件置于源代码管理之下。以下是IAR的直接指导:https://www.iar.com/support/tech-notes/ide/which-files-should-be-version-controlled/
这不是一个全面的列表,但下面是我遇到的一些扩展,并放在.gitignore中(我在同一个repo中有多个IAR项目,所以我需要使用**通配符)。另外,请务必使用常规的C / C ++ ignore扩展名。
# 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.*
答案 1 :(得分:1)
我通常会忽略除*.ewp
和*.eww
文件之外的所有文件。 ewp
文件包含编译项目的所有信息,所有与之相关的文件都用于调试器设置(您可能需要,我相信它是ewd
文件)和解析数据库(用于"转到定义"链接)。我将eww
文件保留在版本控制中,因为我通常将多个项目作为工作空间的一部分,并且我使用批量构建功能,所有这些都存储在工作区文件中。与工作空间关联的其他文件包含有关窗口大小的信息,不是必需的。
还相对于项目文件存储的是输出。我通常版本控制*.out
文件,因为它将具有调试信息,以及所使用的任何其他格式(srecord,二进制,Intel十六进制),默认情况下在配置Exe
目录中。我还控制*.map
文件,该文件可选地在配置Lst
目录中生成并找到。在out文件和map文件之间,这为您提供了调试探针问题所需的内容(out文件与source结合使用),或者如果您有条款,则通过访问内存(映射文件以了解数据的存储位置)