Gitignore中如何忽略名称包含[]的文件夹?
处理Gitignore中含方括号[]的文件夹忽略规则
方括号[]在Gitignore的匹配逻辑里属于字符集通配符(比如[abc]会匹配a、b、c任意一个字符),直接写带[]的路径会被Git当成通配符解析,而非字面的方括号,这就是你手动加**\folder无效的原因。
正确的做法是用反斜杠\转义每个方括号,让Git将其识别为普通字符,具体规则写法如下:
忽略指定路径下的目标文件夹:
# 匹配[exampel]/[example2]/folder文件夹及其所有内容 \[exampel\]/\[example2\]/folder/(末尾加
/是明确匹配文件夹,避免误匹配同名文件)忽略任意带[]前缀路径下的目标文件夹:
# 匹配任意类似[xxx]/[yyy]/folder的路径 **/\[*\]/\[*\]/folder/直接忽略所有名称含[]的文件夹:
# 匹配所有形如[xxx]的文件夹 **/\[*\]/
额外注意
如果这些文件夹已经被Git追踪过,仅修改.gitignore不会生效,需要先执行以下命令移除缓存:
git rm -r --cached \[exampel\]/\[example2\]/folder
之后提交.gitignore的修改即可。
内容的提问来源于stack exchange,提问作者Mohammad Saadati
相关产品推荐
相关产品推荐

