gitignore文件模式不起作用

我有像dynamic目录结构,

dependency a b c de f g h 

我想要忽略依赖关系文件夹下的所有文件,除.xml文件外。

我正在使用下面的模式来实现相同的。

 dependencies/** !dependencies/**/*.xml 

但它似乎不适合我。 它忽略了所有的文件,只是直接在依赖关系文件夹中接受.xml文件, 而不是recursion的 。 🙁

我正在使用下面的环境。
操作系统 :Windows 7(64位)
Git :2.6.1.windows.1

谁能帮我?

这应该工作:

你忽略了一切,但白名单父文件夹。
然后你可以白名单文件。

 dependencies !dependencies/**/ !dependencies/**/*.xml 

正如我在“ 如何在文件中添加没有点的文件(所有扩展名文件)到gitignore文件? ”中所gitignore ,主要有一条规则需要记住.gitignore

如果排除该文件的父目录,则不可能重新包含文件。

这意味着,当你排除一切(' * '),你必须白名单文件夹,才能够白名单文件。

检查这是否与git check-ignore -v -- afile一起工作,以查看它是否被忽略(以及由哪个规则)。