如何编写.gitignore规则忽略指定位置含数字段的exe文件
.gitignore过滤规则实现方案
原有规则失效原因
你之前使用的*.[0-9].exe无法达到预期,原因有两点:
[0-9]字符组仅能匹配单个0-9的数字字符,无法匹配示例中432这类多位数字段- 规则未限定数字段必须是
.exe前的最后一个点分隔分段,存在误匹配可能
可用匹配规则
固定3位数字段场景(完全适配给出的示例)
直接在.gitignore中写入以下规则即可:
*.[0-9][0-9][0-9].exe
匹配效果:
- 命中忽略:
Lorem.amet.432.exe(.exe前紧邻分段为3位纯数字) - 正常放行:
Lorem.432.amet.exe(.exe前紧邻分段为非数字字符串amet) - 正常放行:
432.Lorem.amet.exe(.exe前紧邻分段为非数字字符串amet)
任意长度数字段场景(Git 2.32及以上版本支持)
如果需要忽略.exe前紧邻分段为任意长度纯数字的文件,先在仓库根目录执行命令开启扩展glob支持:
git config core.globOptions extglob
再在.gitignore中写入以下规则:
*.[0-9]+([0-9]).exe
该规则会匹配所有.exe前最后一个点分段为1位及以上纯数字的文件,不会误命中数字段出现在其他位置的同后缀文件。
内容的提问来源于stack exchange,提问作者Ryan Schultz
相关产品推荐
相关产品推荐

