在.gitignore中tmp / ** / *会忽略什么?

时间:2011-08-28 14:10:02

标签: git gitignore

在我的.gitignore文件中我有

tmp/**/*

它排除了哪些文件?它会排除下面的所有tmp和文件/文件夹吗?

我的另一个问题是,这与以下不同吗?

tmp/*

编辑:

我问的原因是因为我有这个

.vimbackup/**/*

但它不会忽略像.vimbackup/.somebackup~

这样的文件

然而,如果我这样做

.vimbackup/*

它会忽略文件.vimbackup/.somebackup~似乎有点倒退给我

2 个答案:

答案 0 :(得分:1)

通常,符号表示在tmp中包含任何子目录。然后这些目录中的文件也是(因为额外的/*

它还包括递归的子目录。因此tmp/billy/bob/*将被忽略,tmp/banjo/*等等......

话虽如此。我从来没用过git ......所以我错了。但是许多IDE和版本控制程序都使用这种表示法。

刚刚注意到你的第二个问题。是的,它与tmp/*不同,它将忽略所有文件,但不会忽略目录及其各自的文件。

答案 1 :(得分:1)

如果文件已经提交,那么git会记住它,直到你明确地获取git将其从索引/暂存区域中删除。即使您更新.gitignore文件也是如此,这可能令人困惑。

查看git rm <file>,删除之前已通过.gitignore文件忽略的文件(参见许多SO Q&amp; As)。