git软件版本管理在我们平时项目开发中的地位不言而喻——反正,我们是必须要使用的。接下来,我就结合我们平时中的项目管理与文档来分享一下我们的gitignore文件里面的具体内容。
我这里以我的一个基于STM32C031开发的一个项目为例,该项目使用的Keil工具链实现的编译,使用VSCode代码编辑工具进行的代码编辑。文件夹的层次结构tree图如下图所示:

对于源代码内容,如app,bsp,cmsis和driver文件夹来说非常好理解,这些数据必须包含在git的版本管理之中,而一些关键点多数集中在Keil软件的配置中,即mdk文件夹里面的内容。
gitignore文件里面要排除的文件的原则一定是对项目编译无关的文件,对于Keil工程来说,我们要排除的基本上都是编译产生的中间文件,最终的编译输出的文件,以及一些调试记录日志文件。
有了gitignore文件的排除原则,对于mdk文件夹中有哪些内容呢?我们又需要保留哪些?忽略哪些呢?
DebugConfig,Listings和Objects文件夹,这三个文件夹是keil自已根据项目在编译时自已创建的,里面保存的是编译产生的中间文件与调试文件。既然是Keil自已创建的,那么在每次编译时Keil都会自已再编译输出,所以,这三个文件夹与里面的文件是属于非必要文件夹,要上gitignore文件的内容。在mkd文件夹里面还有四个文件它们又是干什么的呢?
─mdk │ │ EventRecorderStub.scvd │ │ stm32c031.uvguix.jobs │ │ stm32c031.uvoptx │ │ stm32c031.uvprojx
EventRecorderStub.scvd:一个Keil的配置文件,我打开也没有发现个所以然,果断放入忽略文件列表中。
stm32c031.uvguix.jobs:这个文件是Keil记录界面GUI打开位置,size等信息的文件。这个其实并不重要,但如果我们包含进入git文件管理库,则基本上只要打开一次keil,则git就会提示有更新,实属过于麻烦。所以,我们也把其放入忽略文件列表中。
stm32c031.uvoptx:这个是Keil工程的配置文件,它记录我们项目的配置参数,典型的就是option选项卡里面的数据内容。这个是我们项目中必要的参数,所以我们保留。
stm32c031.uvprojx:Keil工程文件,记录了工程的编译源文件以及工程MCU选项等。我们要保留这个文件。
综上所述,对于Keil工程,我们只需要保留.uvprojx和uvoptx两个文件即可。也就是我们需要在gitignore文件里面添加下面内容:
mdk/DebugConfig mdk/Listings mdk/Objects EventRecorderStub.scvd stm32c031.uvguix.jobs
我要赚赏金
