Gitignore 文件中添加的模式不会匹配下层子目录的文件,这是一个常见的问题。为了解决这个问题,需要在模式前添加双星号,表示匹配任意的子目录。例如:
*.txt
path/to/ignored/*
path/to/ignored/**/*
注意,双星号可以匹配任意数量的目录,也就是说可以匹配任意深度的子目录。
例如,下面这个模式可以忽略所有名为'tests”的目录及其下所有文件和文件夹:
/tests//*
如果你使用的是 Git 1.8.4 或更高版本,可以使用git check-ignore
命令来检查某个文件是否被忽略。例如:
$ git check-ignore -v path/to/file.txt
这将显示一个类似下面这样的输出:
.gitignore:2:*.txt path/to/file.txt
表示文件path/to/file.txt
被第二行的模式忽略了。