如何配置.gitignore匹配后缀为.X的文件夹下的所有子文件夹
可行的.gitignore配置方案
在你的项目.gitignore文件中添加如下规则即可精准匹配需求:
# 忽略所有后缀为.X的文件夹下的所有子文件夹 **/*.X/*/
规则含义说明
**匹配任意层级的父目录,确保不管.X后缀的文件夹放在项目的哪一层级都能被命中/*.X/精准匹配名称以.X为后缀的文件夹,不会误命中名称仅包含X、后缀不符合要求的目录/*/仅匹配.X目录下的子文件夹,不会影响.X目录下直接存放的文件。如果你需要忽略.X目录下的所有内容(包括直接存放的文件),可以将规则替换为**/*.X/**
规则失效排查
如果添加规则后仍然不生效,大概率是对应目录已经被Git追踪过了,需要先清除本地Git缓存的已追踪文件:
# 清除所有已缓存的 tracked 文件 git rm -r --cached . # 重新按新的gitignore规则添加文件 git add . # 提交修改 git commit -m "更新gitignore规则,忽略.X目录下的子文件夹"
原有规则无效原因
你之前测试的规则不生效主要是不符合Gitignore的通配符逻辑:
*.X/folder_to_ignore仅能匹配项目根目录下.X后缀文件夹里的目标目录,无法匹配嵌套在其他子目录里的.X文件夹- 连写的
**.X不符合Gitignore规范,多级通配符**必须作为独立的路径段使用,不能和其他字符直接拼接
内容的提问来源于stack exchange,提问作者earthling
相关产品推荐
相关产品推荐

