我想忽略除我 node_modules
中的一个文件夹之外的所有内容。所以这就是我放在我的.gitignore
:
!/node_modules/abc/*
/node_modules
还试过:
!node_modules/abc/*
node_modules/*
但是它没有像预期的那样工作。这使得 node_modules
中的每个文件夹都被忽略了。
您必须在 node_modules 目录中的 .gitignore 中执行此操作,因为如果排除了该文件的父目录,则无法重新包含该文件。请参阅文档https://git-scm.com/docs/gitignore
评估的顺序需要是:
忽略节点模块中的所有内容(注意尾随的通配符 - 这很重要,否则它只会忽略整个 node_modules 文件夹,并且不会评估您的嵌套文件夹,您将在下一行中取消忽略):
node_modules/*
除了:
!node_modules/abc/*
node_modules/*
!node_modules/abc/*
* 很重要,否则您将忽略目录本身(因此 git 不会查看内部)而不是目录中的文件(允许排除)。