如何配置.gitignore忽略所有文件仅保留任意目录下的JSON文件?
.gitignore配置:忽略所有文件,仅保留任意目录下的.json文件
你的配置失效的核心原因是:用*忽略所有内容时,Git会直接跳过所有目录的扫描,深层子目录里的.json文件根本不会被Git检测到,后续的!/**/*.json规则自然无法生效。
正确的配置应该先确保Git能遍历所有目录,再保留.json文件:
# 忽略所有文件 * # 不忽略任何目录(让Git能扫描深层子目录) !*/ # 保留所有层级目录下的.json文件 !/**/*.json
关键规则说明:
*:匹配仓库根目录下的所有文件和目录,但后续的!*/会覆盖目录的忽略规则。!*/:明确告诉Git不要忽略任何目录(包括嵌套的子目录),这是让深层.json文件被检测到的前提。!/**/*.json:匹配任意层级目录下的.json文件,将这些文件排除在忽略列表之外。
额外注意事项:
如果之前已经有文件被Git追踪,需要先清除本地缓存,让新的.gitignore规则生效:
git rm -r --cached . git add . git commit -m "Update .gitignore to only keep JSON files"
内容的提问来源于stack exchange,提问作者Teddy C
相关产品推荐
相关产品推荐

