gitignore文件模式不起作用

时间:2016-01-28 06:21:11

标签: windows git gitignore

我有动态目录结构,如

dependency
  a
    b
  c
    d  e
  f
    g
      h

除了 .xml 文件之外,我想以递归方式忽略依赖文件夹下的所有文件。

我使用下面的模式来实现同样的目标。

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

但它似乎不适合我。它忽略了所有文件,但仅接受依赖文件夹中直接.xml个文件,不递归。 :(

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这应该有效:

您忽略了所有内容,但是将父文件夹列入白名单 然后你可以列出文件列表。

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

正如我在“How do I add files without dots in them (all extension-less files) to the gitignore file?”中所提到的,.gitignore主要有一条要记住的规则:

<强> It is not possible to re-include a file if a parent directory of that file is excluded.

这意味着,当您排除所有内容(“*”)时,您必须列出白名单文件夹,然后才能列出白名单文件。

检查这是否与git check-ignore -v -- afile一起使用,以查看它是否被忽略(以及是否被忽略)。