切换分支后,Node模块被删除了

5

我在 .gitignore 文件中忽略了 node_modulesbower_components。每次切换分支后,所有的依赖项都会被删除(除了全局安装的),我不得不重新安装它们。

目前我使用的方法是 git stash save --keep-index --include-untracked —all,但我想知道是否有更简单的解决方案,在从另一个分支切回来后仍然保留 .gitignore 中的文件夹。


你找到解决方案了吗?@danm07 - Daithí
部分地,见下面的答案 - dmr07
1个回答

2
这个问题与在我的记录中将这些目录跟踪到git索引有关,而不是在.gitignore中记录它们。为了解决这个问题,我进行了以下操作:
  1. 从.gitignore中删除<directory>
  2. git rm -r --cached <directory>
  3. <directory>重新添加到.gitignore中
  4. 提交更改
我从如何停止跟踪和忽略Git中的文件更改?得到了这个方法,并解决了我的node_modules问题,但bower_components中仍然存在一些残留被跟踪的文件。

这对我不起作用 fatal: pathspec 'node_modules/' did not match any files 请查看 https://stackoverflow.com/questions/52914838/git-moves-files-folders-with-when-checking-other-branches-although-i-use-stash-b - Imnotapotato
这对我也没用。@Imnotapotato,你的致命错误信息是因为 node_modules 实际上没有被暂存(如果你有颜色编码,请查看内部)。我尝试过暂存(不等待完成,因为它是一个大目录并且会停止),然后 git rm 命令就可以工作了。因此,接下来的步骤也可以正常进行。然而,当切换分支时,一些 node modules 仍然会被删除。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接