这是我的文件夹。
首先:
我发现,如果我想忽略的文件夹中,a/并a/*和a/**所有可以完成。
其次:
我想忽略文件夹a中除文件夹b外的所有内容,唯一的方法是:
a/*
!a/b/
Run Code Online (Sandbox Code Playgroud)
我不知道为什么a/**不能这样做?
# this way can't except folder b
a/**
!a/b/
Run Code Online (Sandbox Code Playgroud)
或者您可以告诉我该如何使用a/**?
**匹配任何数量的目录,*只有一个。
所以,如果你忽略例如/a/**/d/,然后/a/b/d/和/a/b/c/d/两个被忽略。
如果您忽略/a/*/d/,则/a/b/d/忽略,而/a/b/c/d/不会忽略。
如果一个文件夹被忽略,那么Git甚至不会查看其内容来检查是否包含。这就是为什么您不能忽略/a/然后包含它的原因/a/b/,因为Git甚至没有调查/a/。因此,您必须改为忽略/a/with中的所有内容/a/*,然后包括/a/b/来忽略其中的/a/所有内容,除了的所有内容/a/b/。