我有文件夹application/
我添加到.gitignore
。在 - 的里面application/
文件夹是文件夹application/language/gr
。如何包含此文件夹?
我尝试过
application/
!application/language/gr/
答案
如果您排除在外application/
,那么它下面的所有内容都将始终被排除(即使以后的一些负面排除模式(" Unignore")可能与下面的某些内容相匹配application/
)。
要做自己想做的事,您必须" Unignore"要" Unignore"的任何内容的每个父目录。通常,您最终会成对为这种情况编写规则:忽略目录中的所有内容,但不是某些子目录。
# you can skip this first one if it is not already excluded by prior patterns
!application/
application/*
!application/language/
application/language/*
!application/language/gr/
Note
尾随/*
很重要:
- 图案
dir/
排除名为的目录dir
(隐式)所有内容。
和dir/
,git永远不会在下面看任何东西dir
,因此永远不会将任何"非排除"模式应用于下面的任何内容dir
。 - 图案
dir/*
什么也没说dir
本身;它只是不包括一切dir
。和dir/*
,git将处理的直接内容dir
,给其他模式有机会"取消隔离"一点点内容(!dir/sub/
)。