为什么git stash删除我的node_modules文件夹?

时间:2016-05-17 15:09:16

标签: git gitignore node-modules git-stash

我遇到一个问题,当我运行git stash -u(即存储所有文件,包括未跟踪的文件)时,Git会删除我的node_modules目录。除此之外,它甚至无法在git stash pop上恢复它 - 我必须再次运行npm install才能恢复它。

<。>在.gitignore中忽略了node_modules(通过行node_modules/*),据我所知,从未在项目的历史记录中提交(git log --all -- node_modules不返回任何内容)。不应该git stash忽略它(即使提交未跟踪的文件)?我很确定我之前使用过这样的git stash没有任何node_modules问题。

更新:我已经检查过,此问题不仅限于某个特定项目 - 它似乎发生在我运行git stash -u的任何地方。值得一提的是,我的Git版本是2.6.3.windows.1(在Windows上)。

2 个答案:

答案 0 :(得分:1)

您必须更改.gitignore条目:

node_modules/*

node_modules/

此处有更多详情:here

答案 1 :(得分:-1)

npm会创建非常长的路径,在Windows上最多可超过260个字符,具体取决于repo根路径的长度。这可以解释为什么你有时会看到它有效,有时却没有。如果您使用的是npm,我建议确保您的repos始终具有非常短的根路径。