此问题已更改,因为错误说明错误!感谢@Tim和@Jubobs的帮助
我的.gitignore文件中有整个文件夹,但是当我使用
时git check-ignore */**
当他们在文件夹结构中更深层时,它们没有显示出来。有办法解决这个问题吗?
示例文件夹结构:
回购:
repo/.git
repo/.gitignore
repo/hello/__world/test.txt
在.gitignore:
**/__world/**
当我现在在根目录中调用git check-ignore */**
时,当cd
进入hello
目录时,hello/__folder/text.txt
显示出来时,不会显示任何内容!
当我打电话
git check-ignore */**/**
我实际上可以看到该文件。
是否有无限的'这个递归? (所以我甚至可以在更深的文件夹中找到文件)
答案 0 :(得分:0)
当我现在在根目录中调用
git check-ignore */**
时,当cd
进入hello
目录时,hello/__folder/text.txt
显示出来时,不会显示任何内容!
请注意,在Git 2.17(2018年第二季度,两年半之后)之前,当一个是文件而另一个是已经修复的目录时,多个路径的“git check-ignore
”会混淆。< / p>
commit d60771e见René Scharfe (rscharfe
)(2018年2月10日)
(Junio C Hamano -- gitster
--于2018年2月27日commit 796a788合并)。
check-ignore
:修复目录和其他文件类型的混合在
check_ignore()
,中,第一个pathspec项目确定任何dtype
后续的 这意味着匹配常规文件的pathspec可以防止跟踪路径规范匹配目录,这没有任何意义。通过分别确定每个pathspec的dtype来解决此问题, 通过每次将值
DT_UNKNOWN
传递给last_exclude_matching()
。
因此,如果问题仍然存在于Git 2.17中,您将不得不再次检查。