查明 git 中文件被哪条规则 ignore

如果配置了复杂的项目以及全局 ignore 规则,那么在文件被意外 ignore 的时候很难马上查明被哪条规则 ignore 了,这个时候可以用 git check-ignore 来查明。

git check-ignore -v pathname...
$ git check-ignore node_modules
node_modules

$ git check-ignore node_modules -v
.gitignore:4:/node_modules  node_modules

$ git check-ignore a.tmp
a.tmp

$ git check-ignore a.tmp -v
/Users/xx/.gitignore_global:14:*.tmp    a.tmp

References