1、gitignore规则
使用git管理工程时,工程目录下有许多文件是不需要跟踪管理的。因此,我们一般会在工程目录下创建.gitignore文件,在其中编写忽略规则即可。
.gitignore忽略规则如下表所示:
格式 |
说明 |
示例 |
# |
注释 |
#本行为注释 |
xxx/ |
忽略所有xxx的目录 |
tmp/ #忽略所有tmp目录 |
/xxx |
忽略根目录下的xxx目录 |
/tmp/ #忽略根目录下的tmp文件夹 /tmp #忽略根目录下的tmp文件 |
!xxx |
不忽略匹配到的文件或目录 |
!doc/tmp/ #不忽略doc下的tmp文件夹 |
*xxx |
忽略通配任意个字符xxx的文件或目录 |
doc/**/*.txt #忽略doc目录下所有的.txt文件 *.upx.* #忽略名称中间含有.upx.的文件 |
? |
忽略通配单个字符的文件或目录 |
tmp?.log #忽略tmp?.log文件或目录,?为任意一个字符 |
[xx] |
根据[]内正则表达式规则进行忽略 |
tmp[0-9].log #忽略tmp0.log、tmp2.log等,但不忽略tmpa.log等 tmp[01].log #仅忽略tmp0.log、tmp1.log tmp[!01].log #不忽略tmp0.log、tmp2.log |
注意:
1)以上规则仅适用于未被缓存或加入版本控制的文件
2)gitignore 支持 glob 模式
3)gitignore 是从上到下一行一行匹配,后面的会覆盖前面的
若在添加.gitignore文件前已经add或commit过,则规则不会生效,此时需要清空本地缓存:
git rm -r --cached . #或者直接将.git删掉然后重新初始化git
git add .
git commit -m "update file .gitignore"
也可以直接删除.git文件夹,然后再次执行git init,然后添加、提交。
2、keil工程文件管理
Keil工程中需要监控的文件有:
- 所有用户源文件(*.c、*.cpp、*.h、*.inc、*.s、*.txt)
- 工程文件:Project.uvprojx(用于构建项目)
- 工程选项文件:Project.uvoptx(保存调试器和跟踪配置信息)
- 用于多个工程工作区的工程文件:Project.uvmpw
- 复制到工程中的运行时环境配置文件(.\RTE文件夹下的所有文件)
- 由软件组件创建的#include列表:RTE\RTE_Components.h文件
- 设备配置文件,比如:RTE\Device\LPC1857\RTE_Device.h
- 链接控制文件(Project.sct,如果手动创建的话)
- 所有相关Pack文件(比如ARM::CMSIS)
不需要监控的文件:
- 工程页面布局文件:Project.uvguix.username
- 在.\Listings和.\Objects文件夹中产生的输出文件
- 用于调试适配器的INI文件
通过了解gitignore规则和keil文件类型,个人配置的.gitignore文件内容如下:
#*.uvoptx
#OutputFiledir & Files
Listings/
Objects/
*.crf
*.d
*.o
*.build_log.htm
*.axf
*.htm
*.lnp
*.dep
*.map
*.bin
*.hex
#Keil Layout File
*.uvguix.*
#DebugConfig
DebugConfig/
#Keil Project screen layout file
*.uvguix.*
*.uvgui.*
#JLINK file
*JLinkLog.txt
*JLinkSettings.ini
#temp files
~$*
*.TMP