/。和/和.gitignore上路径的最后一点有什么区别?

时间:2012-09-03 09:00:34

标签: git gitignore

在一些.gitignore文件中,我们可能会看到:

somedirectory/*

somedirectory/

这是否意味着第一个将递归匹配而第二个匹配,只有那个目录?

2 个答案:

答案 0 :(得分:4)

后者匹配目录,但忽略目录意味着忽略其所有内容。所以它是递归的。

对于前者,*仅匹配即时条目。但是因为它也会匹配目录并且忽略目录意味着忽略它的所有内容,所以它也是递归的。

Git不跟踪目录,所有内容被忽略的目录都被忽略了。

因此没有实际差异。

答案 1 :(得分:3)

它们都会递归匹配。但是你不应该使用somedirectory/*模式,因为它与somedirectory/本身不匹配。因此,如果您有一个缓存文件夹cache/并忽略模式cache/*,则git clean -fd将删除其中包含所有文件的cache/目录。

注意IDE的模式:)忽略模式.idea/*可以清除项目的所有设置。