遇到文件怎么都加不进 Git 时,先别急着改 .gitignore,git check-ignore -v 能直接告诉你是哪条规则匹配的。
环境:Git 2.25+。可以这样试:
mkdir -p ignore-demo/cache
cd ignore-demo
printf 'cache/\n*.local\n' > .gitignore
printf 'tmp\n' > cache/data.txt
printf 'debug\n' > settings.local
git check-ignore -v cache/data.txt settings.local
输出会带上匹配规则所在的文件、行号和规则内容。想检查一个已经被跟踪的文件,可以加 --no-index,避免把“已跟踪文件不会受忽略规则影响”误判成规则没生效。这个命令排查嵌套目录里的多层 .gitignore 特别省时间。