Git忽略目录规则:如何排除node_modules下特定前缀目录
解决Gitignore不忽略node_modules下特定前缀目录的问题
没问题,我之前处理过几乎一模一样的场景,给你说个简单直接的写法就行。
Gitignore的核心逻辑是先设置全局忽略,再添加例外规则,针对你的需求,只需要两步:
第一步,先忽略整个
node_modules目录(这是常规操作,避免提交大量依赖文件):node_modules/注意末尾的斜杠
/不能少,不然会匹配同名的文件,而不是目录。第二步,添加例外规则,让Git不忽略所有以
api开头的子目录:!node_modules/api*/这里的
*是通配符,会匹配api后面的任意字符(不管长度),刚好覆盖你那20多个apifoo、apibar、apix这类目录。同样,末尾的斜杠/要加上,确保只匹配目录。
把这两行加到你的.gitignore文件里就搞定了!而且这个规则会递归生效——这些api开头的目录里的子文件、子目录都会被正常追踪,不需要额外写其他规则。
小提醒
如果之前你已经把node_modules目录加入过Git的忽略缓存,需要先执行以下命令清除缓存,再重新提交,新规则才会生效:
git rm -r --cached node_modules
内容的提问来源于stack exchange,提问作者Suhayb
相关产品推荐
相关产品推荐

