代码之家  ›  专栏  ›  技术社区  ›  pauldoo

如何向.gitignore中添加一些内容,以便匹配不是递归的?

  •  56
  • pauldoo  · 技术社区  · 15 年前

    如何在 .gitignore 所以匹配不是递归的?

    例如,我希望忽略目录 foo 和文件 bar.txt 在当前目录中,但子目录中不存在任何子目录。

    我试过这个 吉蒂格诺 文件:

    foo/
    bar.txt
    

    但不幸的是Git递归地应用了这个,所以 otherdir/bar.txt otherdir/foo/ 也会被忽略,这不是我想要的。

    (在git中是否有一个命令显示所有被忽略的文件,并引用 .git忽略 负责被忽略文件的文件?这对调试很有用。)

    2 回复  |  直到 7 年前
        1
  •  95
  •   pauldoo    15 年前

    解决方法是在 .gitignore 条目:

    /foo/
    /bar.txt
    

    (我以为我在StackOverflow上发布之前已经尝试过了,但显然我没有正确尝试过,因为这非常有效。)

        2
  •  11
  •   hermannloose    15 年前

    从GitIgnore主页:

    可选前缀!这会否定模式;先前模式排除的任何匹配文件都将再次包含在内。如果一个否定的模式匹配,这将覆盖低优先级模式源。

    所以 !* 作为.gitignore中的第一行,将清除所有以前的模式。