如何在.gitignore中忽略除指定目录外的特定文件扩展名
解决Git忽略全局.json但保留config目录下.json的配置问题
直接用下面的配置替换你的.gitignore内容即可:
# 忽略所有.json文件 *.json # 确保config目录不被Git忽略(父目录的可访问性是子文件规则生效的前提) !config/ # 保留config目录下的所有.json文件 !config/*.json
你之前的规则无效的原因
- 目录名不匹配:你的仓库实际目录是
config,但你写的规则里用了configs,完全对应不上,自然不会生效。 - 忽略规则的逻辑顺序:Git会按顺序匹配规则,当你先忽略了所有
*.json,需要先明确让Git不忽略config目录(虽然*.json本身不会忽略目录,但显式声明!config/能确保Git扫描该目录下的文件,让后续的取消忽略规则生效)。
配置完成后,直接执行git add config/*.json就能把这些配置文件加入版本控制,之后这些文件的变更会被Git自动识别,不需要再用-f参数强制添加。
内容的提问来源于stack exchange,提问作者Jake Levi
相关产品推荐
相关产品推荐

