【发布时间】:2018-06-22 18:41:46
【问题描述】:
我使用 npm 开始了一个项目,添加了一些依赖项,然后初始化了存储库 usign git init。
我希望目录 node_modules 被 git 忽略,所以我像这样将它添加到 .gitignore 文件中。
.gitignore
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/
为什么?
【问题讨论】:
-
这正是您使用的序列吗?我无法重现此结果。
-
@DanLowe 是的,我已经检查了两次和三次,但是没有,它不起作用。这对我来说看起来很荒谬。
-
我也无法重现这个。尝试了以下步骤:
git init; echo "Myfile" > myfile; mkdir node_modules && echo "module" > node_modules/module.txt; git commit -m "init"; echo "node_modules" > .gitignore; rm -rf node_modules/; git rm -r --cached .; git add .; git commit -m ".gitignore should now work"; mkdir node_modules; echo "module" > node_modules/mod.txt;。git status在运行这些后给出“在分支主机上没有提交,工作树干净”。 -
@bless 刚刚尝试再次执行与您相同的操作,但在
git status之后仍然没有跟踪node_modules/ -
git rm -r --cached .是我的解决方案。运行此命令后,.gitignore中的node_modules运行良好。
标签: git npm node-modules