使用.gitignore忽略node_modules

Car*_*rlo 2 git npm node-modules

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

我希望node_modulesgit忽略该目录,所以我将其添加到.gitignore文件中.

的.gitignore

node_modules/
Run Code Online (Sandbox Code Playgroud)

当然因为node_modules之前添加过git init,它仍然被认为是要跟踪的目录.

所以我删除它,使用以下命令(如同类似问题所述)

git rm -r --cached .
git add .
git commit -m ".gitignore should now work"
Run Code Online (Sandbox Code Playgroud)

然后使用重新安装npm依赖项 npm install

在此之后,我希望node_modules最终忽略该目录.相反,如果我输入git status

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

    node_modules/
Run Code Online (Sandbox Code Playgroud)

为什么?

Laj*_*lay 7

请尝试以下操作:

  • 从 .gitignore 中删除 node_modules 并保存

  • 删除node_modules(或将其移至项目目录之外的某个位置)

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

  • 再次将node_modules添加到.gitignore

  • 提交 gitignore

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


Car*_*rlo 5

这个问题下,对于.gitignore文件无法正常工作,有许多可能的修复方法.

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