在一些.gitignore文件中,我们可能会看到:
somedirectory/*
或
somedirectory/
这是否意味着第一个将递归匹配而第二个匹配,只有那个目录?
答案 0 :(得分:4)
后者匹配目录,但忽略目录意味着忽略其所有内容。所以它是递归的。
对于前者,*仅匹配即时条目。但是因为它也会匹配目录并且忽略目录意味着忽略它的所有内容,所以它也是递归的。
Git不跟踪目录,所有内容被忽略的目录都被忽略了。
因此没有实际差异。
答案 1 :(得分:3)
它们都会递归匹配。但是你不应该使用somedirectory/*
模式,因为它与somedirectory/
本身不匹配。因此,如果您有一个缓存文件夹cache/
并忽略模式cache/*
,则git clean -fd
将删除其中包含所有文件的cache/
目录。
注意IDE的模式:)忽略模式.idea/*
可以清除项目的所有设置。