使用 .gitignore 忽略 node_modules

Ignoring node_modules using .gitignore

我使用 npm 启动了一个项目,添加了一些依赖项,然后初始化了存储库使用 git init

我希望目录 node_modules 被 git 忽略,所以我将它添加到 .gitignore 文件中。

.git忽略

node_modules/

当然因为node_modules是在git init之前添加的,所以还是被识别为要跟踪的目录

所以我删除了它,使用了以下命令(针对类似问题的建议)

git rm -r --cached .
git add .
git commit -m ".gitignore should now work"

然后使用 npm install

重新安装 npm 依赖项

在此之后,我希望目录 node_modules 最终被忽略。 相反,如果我输入 git status,我会得到

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    node_modules/

为什么?

尝试以下操作:

  • 从 .gitignore 中删除 node_modules 并保存

  • 删除node_modules(或将其移动到项目目录之外的某个地方)

  • 提交更改(将从 node_modules 中删除大量内容)此步骤将从源代码管理中删除文件。

  • 再次将node_modules添加到.gitignore

  • 提交 gitignore

  • 重新运行npm install或者恢复node_modules目录

this question 下,有许多可能修复 .gitignore 文件无法正常工作的问题。

在这种情况下,问题是 .gitignore 文件的编码是 UNICODE 而不是 ASCII