在我的.gitignore文件中我有
tmp/**/*
它排除了哪些文件?它会排除下面的所有tmp和文件/文件夹吗?
我的另一个问题是,这与以下不同吗?
tmp/*
编辑:
我问的原因是因为我有这个
.vimbackup/**/*
但它不会忽略像.vimbackup/.somebackup~
然而,如果我这样做
.vimbackup/*
它会忽略文件.vimbackup/.somebackup~
似乎有点倒退给我
答案 0 :(得分:1)
通常,符号表示在tmp中包含任何子目录。然后这些目录中的文件也是(因为额外的/*
)
它还包括递归的子目录。因此tmp/billy/bob/*
将被忽略,tmp/banjo/*
等等......
话虽如此。我从来没用过git ......所以我错了。但是许多IDE和版本控制程序都使用这种表示法。
刚刚注意到你的第二个问题。是的,它与tmp/*
不同,它将忽略所有文件,但不会忽略目录及其各自的文件。
答案 1 :(得分:1)
如果文件已经提交,那么git会记住它,直到你明确地获取git将其从索引/暂存区域中删除。即使您更新.gitignore文件也是如此,这可能令人困惑。
查看git rm <file>
,删除之前已通过.gitignore文件忽略的文件(参见许多SO Q&amp; As)。